Simulation method, device and storage medium of hamiltonian

By performing eigenvalue or singular value decomposition on the Hamiltonian and expanding it using Taylor and Euler formulas, it is decomposed into a set of quantum gates, and quantum circuits are constructed. This solves the problem of Hamiltonian simulation in large systems and realizes efficient Hamiltonian evolution simulation.

CN116796846BActive Publication Date: 2026-02-17ORIGIN QUANTUM COMPUTING TECH (HEFEI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210241535.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-11
Publication Date
2026-02-17
Estimated Expiration
2042-03-11

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively simulate Hamiltonians, especially in large systems where they cannot be effectively simulated using classical computers.

Method used

By determining that the Hamiltonian to be simulated is in the form of a square matrix, calculating eiA, performing eigenvalue or singular value decomposition, and expanding it using Taylor's formula and Euler's formula, it is decomposed into a set of finite quantum gates, and a quantum circuit is constructed for simulation.

Benefits of technology

This method enables efficient simulation of the evolution of Hamiltonians, reducing computational complexity and resource requirements while improving simulation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116796846B_ABST
    Figure CN116796846B_ABST
Patent Text Reader

Abstract

The application provides a Hamiltonian simulation method, device and storage medium, and solves the technical problem that it is difficult to simulate a Hamiltonian in the related art, so as to realize evolution simulation of the Hamiltonian. The Hamiltonian simulation method comprises the following steps: determining a Hamiltonian H to be simulated; wherein H is in the form of a square matrix and is independent of time; calculating e iA ; wherein A is a square matrix and A = -Ht, t is a constant, and the calculation result is in the form of a square matrix; decomposing the calculation result into a set of a limited number of quantum gates; and constructing a quantum circuit according to the set of the limited number of quantum gates to perform simulation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of quantum computing technology, and in particular to a method, apparatus and storage medium for simulating Hamiltonians. Background Technology

[0002] A quantum computer is a physical device that performs high-speed mathematical and logical operations, stores and processes quantum information in accordance with the laws of quantum mechanics. When a device processes and calculates quantum information and runs quantum algorithms, it is a quantum computer. Therefore, quantum computers have a much higher efficiency in processing mathematical problems than ordinary computers.

[0003] In quantum mechanics, the energy of a system is described by the Hamiltonian operator H. Solving for all or part of the properties of the Hamiltonian of a given system constitutes a core problem in a series of disciplines such as condensed matter physics, computational chemistry, and high-energy physics. Quantum simulation itself is a broad topic with wide-ranging applications: many-body localization, time crystals, high-temperature superconductivity, and topological order in condensed matter physics; molecular dynamics and reaction simulations in quantum chemistry; field theory simulations in high-energy physics; and even related research in nuclear physics and cosmology.

[0004] Digital quantum simulation on a universal quantum computer—using quantum gates to construct quantum circuits to achieve quantum simulation—is considered the most promising technological approach due to its high scalability and universality. However, the degrees of freedom of a system increase exponentially with the size of the system, making it generally impossible to effectively simulate quantum systems using classical computers. Summary of the Invention

[0005] This application provides a method, apparatus, and storage medium for simulating Hamiltonians, which can solve the technical problem of difficulty in simulating Hamiltonians in related technologies. It utilizes quantum gates to construct quantum circuits, thereby enabling manipulation of quantum circuits and simulating the evolution of Hamiltonians.

[0006] To achieve the above objectives, this application adopts the following technical solution:

[0007] Firstly, a method for simulating Hamiltonians is provided, the method comprising:

[0008] Determine the Hamiltonian H to be simulated; where H is a square matrix representation and is independent of time.

[0009] Calculate e iA Where A is a square matrix and A = -Ht, t is a constant, and the calculation result is in square matrix form;

[0010] The calculation results are decomposed into a set of a finite number of quantum gates;

[0011] A quantum circuit is constructed based on the set of the finite number of quantum gates to perform the simulation.

[0012] Optionally, the calculation e iA ,include:

[0013] Perform eigenvalue decomposition or singular value decomposition on square matrix A; where the decomposition result is A′;

[0014] Based on Taylor's formula and Euler's formula, calculate e iA′ .

[0015] Optionally, the result is a calculation result matrix B; the step of decomposing the calculation result into a set of a finite number of quantum gates includes:

[0016] Convert the indices of non-zero elements in the calculated matrix B into binary representation;

[0017] Based on the binary representation of the non-zero element indices in the calculation result matrix B, each item in the calculation result matrix B is expanded and re-represented as matrix B′;

[0018] Based on the value of each sub-item in each item of matrix B′, determine the logic gate type corresponding to each sub-item in matrix B′;

[0019] Based on the logic gate type corresponding to each sub-item in matrix B′, determine the quantum circuit and the coefficients corresponding to the quantum circuit; wherein, the quantum circuit corresponds to non-zero elements.

[0020] Optionally, the step of decomposing the calculation result into a set of a finite number of quantum gates includes:

[0021] Confirm whether the calculation result is a unitary matrix;

[0022] When the computation result is a unitary matrix, the computation result is decomposed into a set of single-qubit gates and controlled NOT gates based on the Haushold transformation.

[0023] Optionally, the method further includes:

[0024] The quantum circuit is constructed according to a preset quantum operation object, wherein the operation object is a set of operation instructions for the quantum circuit.

[0025] Optionally, the set of operation instructions for the quantum circuit includes: instructions for obtaining the matrix corresponding to the constructed quantum circuit; instructions for assembling the quantum circuit into program code; instructions for determining whether the matrix corresponding to the quantum circuit is a unitary matrix; instructions for operating the matrix corresponding to the quantum circuit; and instructions for operating the quantum circuit.

[0026] Optionally, the method further includes:

[0027] Based on the dimension of the circuit matrix corresponding to the constructed quantum circuit or the dimension of the calculation result matrix corresponding to the calculation result, the circuit matrix, and the calculation result matrix, the process fidelity from the calculation result matrix to the circuit matrix is ​​obtained;

[0028] The similarity between the route matrix and the calculated result matrix is ​​calculated based on the dimension of the route matrix or the dimension of the calculated result matrix and the fidelity of the process from the calculated result matrix to the route matrix.

[0029] Based on the similarity between the circuit matrix and the calculation result matrix, it is confirmed that the Hamiltonian to be simulated is effectively simulated by the quantum circuit.

[0030] Secondly, a device for simulating Hamiltonian is provided, the device comprising:

[0031] The determination module is used to determine the Hamiltonian H to be simulated; where H is a square matrix representation and is independent of time.

[0032] The first calculation module is used to calculate e. iA Where A is a square matrix and A = -Ht, t is a constant, and the calculation result is in square matrix form;

[0033] A decomposition module is used to decompose the calculation results into a set of a finite number of quantum gates;

[0034] A construction module is used to construct quantum circuits for simulation based on the set of the finite number of quantum gates.

[0035] Optionally, the computing module includes:

[0036] The first decomposition unit is used to perform eigenvalue decomposition or singular value decomposition on the square matrix A; where the decomposition result is A′.

[0037] The calculation unit is used to calculate e based on Taylor's formula and Euler's formula. iA′ .

[0038] Optionally, the calculation result is the calculation result matrix B; the decomposition module includes:

[0039] The conversion unit is used to convert the indices of non-zero elements in the calculation result matrix B into binary representation.

[0040] The second decomposition unit is used to expand each item in the calculation result matrix B and re-represent it as matrix B′ based on the binary representation of the non-zero element subscripts in the calculation result matrix B.

[0041] The first determining unit is used to determine the logic gate type corresponding to each sub-item in each item of matrix B′ based on the value of each sub-item in each item of matrix B′.

[0042] The second determining unit is used to determine the quantum circuit and the coefficients corresponding to the quantum circuit according to the logic gate type corresponding to each sub-item in matrix B′; wherein the quantum circuit corresponds to non-zero elements.

[0043] Optionally, the decomposition module further includes:

[0044] A confirmation unit is used to confirm whether the calculation result is a unitary matrix;

[0045] The third decomposition unit is used to decompose the computation result into a set of single-qubit gates and controlled NOT gates based on the Haushold transformation when the computation result is a unitary matrix.

[0046] Optionally, the Hamiltonian simulation device further includes:

[0047] An operation module is used to operate the constructed quantum circuit according to a preset quantum operation object, wherein the operation object is a set of operation instructions for the quantum circuit.

[0048] Optionally, the set of operation instructions for the quantum circuit includes: instructions for obtaining the matrix corresponding to the constructed quantum circuit; instructions for assembling the quantum circuit into program code; instructions for determining whether the matrix corresponding to the quantum circuit is a unitary matrix; instructions for operating the matrix corresponding to the quantum circuit; and instructions for operating the quantum circuit.

[0049] Optionally, the Hamiltonian simulation device further includes:

[0050] The acquisition module is used to acquire the process fidelity from the calculation result matrix to the line matrix based on the dimension of the line matrix corresponding to the constructed quantum circuit or the dimension of the calculation result matrix corresponding to the calculation result, the line matrix, and the calculation result matrix.

[0051] The second calculation module is used to calculate the similarity between the line matrix and the calculation result matrix based on the dimension of the line matrix or the dimension of the calculation result matrix and the process fidelity from the calculation result matrix to the line matrix.

[0052] The confirmation module is used to confirm, based on the similarity between the circuit matrix and the calculation result matrix, that the Hamiltonian to be simulated is effectively simulated by the quantum circuit.

[0053] Thirdly, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the method described in any of the first aspects above.

[0054] Fourthly, a storage medium is provided, wherein a computer program is stored therein, wherein the computer program is configured to execute the method described in any of the first aspects above when it is run.

[0055] Fifthly, a quantum computer operating system is provided, wherein the quantum computer operating system realizes the simulation of Hamiltonian according to the method described in any one of the first aspects above.

[0056] In a sixth aspect, a quantum computer is provided, the quantum computer comprising the quantum computer operating system described in the fifth aspect above.

[0057] Based on the above-mentioned simulation method, apparatus and storage medium for Hamiltonians, if the Hamiltonian to be simulated is in the form of a square matrix, this application can decompose the calculation result of the square matrix form into a set of finite quantum gates by calculating the Hamiltonian to be simulated on the e-exponent, and then construct a quantum circuit based on the set to realize the simulation of the evolution of the Hamiltonian, thus solving the technical problem of the difficulty in simulating Hamiltonians in related technologies. Attached Figure Description

[0058] Figure 1 This is a hardware structure block diagram of a computer terminal for a Hamiltonian simulation method provided in an exemplary embodiment of this application;

[0059] Figure 2 A schematic diagram illustrating a quantum circuit as provided in an exemplary embodiment of this application;

[0060] Figure 3 This is a flowchart illustrating a Hamiltonian simulation method provided in an exemplary embodiment of this application;

[0061] Figure 4 A schematic block diagram of a Hamiltonian simulation device provided for an exemplary embodiment of this application. Detailed Implementation

[0062] The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application.

[0063] This application first provides a method for simulating Hamiltonians, which can be applied to electronic devices, such as computer terminals, specifically ordinary computers, quantum computers, etc.

[0064] The following detailed explanation uses a computer terminal as an example. Figure 1 This is a hardware block diagram of a computer terminal for a Hamiltonian simulation method provided in an embodiment of this application. Figure 1 As shown, computer terminal 10 may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. Optionally, the computer terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the computer terminal described above. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0065] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / modules corresponding to the Hamiltonian simulation method in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0066] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0067] It's important to note that a true quantum computer has a hybrid structure, comprising two main parts: a classical computer responsible for performing classical computations and control, and a quantum device responsible for running quantum programs to achieve quantum computation. A quantum program is a sequence of instructions written in a quantum language such as QRunes that can run on a quantum computer, supporting operations on quantum logic gates and ultimately enabling quantum computing. Specifically, a quantum program is a sequence of instructions that operates on quantum logic gates according to a specific timing order.

[0068] In practical applications, due to limitations in the development of quantum device hardware, quantum computing simulations are often required to verify quantum algorithms, quantum applications, and so on. Quantum computing simulation is the process of simulating the execution of a quantum program corresponding to a specific problem using a virtual architecture (i.e., a quantum virtual machine) built with the resources of a regular computer. Typically, it is necessary to construct a quantum program corresponding to a specific problem. The quantum program referred to in this embodiment of the invention is a program written in a classical language that represents qubits and their evolution, wherein qubits, quantum logic gates, etc., related to quantum computing all have corresponding classical code representations.

[0069] Quantum circuits, also known as quantum logic circuits, are a common manifestation of quantum programming and are the most widely used general-purpose quantum computing model. They represent circuits that operate on qubits under an abstract concept. They consist of qubits, circuits (timelines), and various quantum logic gates. Finally, the results are often read out through quantum measurement operations.

[0070] Quantum circuits can be represented as a sequence of quantum logic gates arranged in a specific time order. For example:

[0071] q0:RX(q0),H(q0),CNOT(q0,q2),X(q0)

[0072] q1:X(q1), RY(q1), H(q1), CNOT(q2,q1)

[0073] q2:H(q2),X(q2),CNOT(q0,q2),CNOT(q2,q1),RZ(q2)

[0074] A more intuitive representation of the quantum circuits corresponding to the aforementioned quantum logic gate sequence is shown below. Figure 2 As shown.

[0075] Unlike traditional circuits that use metal wires to transmit voltage or current signals, in quantum circuits, the circuits can be seen as being connected by time. That is, the state of a quantum bit evolves naturally over time, following the instructions of the Hamiltonian operator, until it encounters a quantum logic gate and is manipulated.

[0076] A quantum program corresponds to a single quantum circuit. The quantum program described in this application refers to this single quantum circuit, where the total number of qubits in the single quantum circuit is the same as the total number of qubits in the quantum program. This can be understood as follows: a quantum program can consist of a quantum circuit, measurement operations on the qubits within the quantum circuit, registers storing the measurement results, and control flow nodes (jump instructions). A single quantum circuit can contain dozens, hundreds, or even thousands of quantum logic gate operations. The execution of a quantum program is the process of executing all the quantum logic gates in a specific timing order. It should be noted that the timing order refers to the chronological sequence in which individual quantum logic gates are executed.

[0077] It's important to note that in classical computing, the most basic unit is the bit, and the most fundamental control mode is the logic gate. Circuit control can be achieved through combinations of logic gates. Similarly, the way to process qubits is through quantum logic gates. Quantum logic gates enable the evolution of quantum states and are the foundation of quantum circuits. Quantum logic gates include single-qubit gates, such as Hadamard gates (H-gates), Pauli-X gates (X-gates), Pauli-Y gates (Y-gates), Pauli-Z gates (Z-gates), RX gates, RY gates, RZ gates, etc.; and multi-qubit quantum logic gates, such as CNOT gates, CR gates, iSWAP gates, Tofoli gates, etc. Quantum logic gates are generally represented using unitary matrices, which are not only matrix forms but also operations and transformations. The effect of a quantum logic gate on a quantum state is generally calculated by left-multiplying the unitary matrix by the matrix corresponding to the right vector of the quantum state.

[0078] A quantum state, or the logical state of a qubit, is represented in binary in quantum algorithms (or quantum programs). For example, a set of qubits q0, q1, and q2 represents the 0th, 1st, and 2nd qubits, ordered from most significant bit to least significant bit as q2q1q0. This set of qubits corresponds to a total of 2^(1 / 2) qubits, which refers to 8 eigenstates (determined states): |000>, |001>, |010>, |011>, |100>, |101>, |110>, and |111>. Each bit in a quantum state corresponds to a qubit. For example, in the state |000>, 000 corresponds to q2q1q0 from most significant bit to least significant bit. |> is the Dirac notation.

[0079] Taking a single qubit as an example, the logical state ψ of a single qubit may be in a superposition of the states |0>, |1>, and |0> and |1> (an uncertain state), specifically expressed as ψ = a|0> + b|1>, where a and b are complex numbers representing the amplitude (probability amplitude) of the quantum state, and the square of the amplitude represents the probability. 2 b 2Let a represent the probabilities that the logical state is |0> and |1>, respectively. 2 +b 2 =1. In short, a quantum state is a superposition of eigenstates. When the probability of other states is 0, it is in a uniquely determined eigenstate.

[0080] The following is a further description of a Hamiltonian simulation method provided by an embodiment of the present invention.

[0081] See Figure 3 , Figure 3 This is a schematic flowchart of a Hamiltonian simulation method provided in an exemplary embodiment of this application, including steps S310 to S340, wherein:

[0082] S310, Determine the Hamiltonian H to be simulated. Wherein, the Hamiltonian H to be simulated is in the form of a square matrix and is independent of time.

[0083] Simulating the properties of a quantum system is one of the important applications of quantum computers. Generally, analyzing the properties of a quantum system requires first writing out its Hamiltonian, which often has different forms for physical systems at different scales. Taking quantum chemistry as an example, the properties of a molecule are mainly determined by the Coulomb interactions between electrons; therefore, each term in its Hamiltonian is written using fermion operators acting on the electron wavefunction. The basic building blocks of quantum computers, qubits and commonly used Pauli operators, correspond to spin and spin operators in physics.

[0084] Taking the Heisenberg model as an example, the Heisenberg model is a very important model in the study of quantum magnetism and quantum many-body physics. The Hamiltonian H to be simulated in the Heisenberg model can be written as follows:

[0085]

[0086] in,<i,j> Depending on the specific lattice geometry, J x J y J z The spin coupling intensity in the x, y, and z directions, respectively, h z It is the external magnetic field in the z-direction. If we take J... z =0, the formula for the Hamiltonian H to be simulated in the Heisenberg model above can also be used to describe the Hamiltonian of the XY model; if J is taken as 0, x =J y =0, and the Hamiltonian H of the Heisenberg model can be used to describe the Hamiltonian of the Ising model. Note that here we use the many-body spin operator, which is commonly used in quantum many-body physics. It is an operator acting on a many-body wavefunction. For a spin-1 / 2 system, the many-body spin operator can be simply written as the tensor product form of the Pauli operator (omitting one...). (coefficient):

[0087]

[0088] Here, σ and P are Pauli operators, which can also be represented by XYZ operators.

[0089] After obtaining the formulaic expression of a quantum system, the matrix representation of the Hamiltonian H to be simulated can be obtained by setting the parameters in the formula. If the matrix representation is a square matrix, it is suitable for the Hamiltonian simulation method of this application. For example, the order of the Hamiltonian H to be simulated is N=2. n , where n is the number of qubits contained in the quantum circuit to be encoded.

[0090]

[0091] Each element of the Hamiltonian H to be simulated is in complex form, that is, each element contains a real part and an imaginary part.

[0092] After determining the Hamiltonian H to be simulated, proceed to step S320.

[0093] S320, calculate e iA Where A is a square matrix and A = -Ht, t is a constant, and the calculation result is in square matrix form.

[0094] Since the Hamiltonian H to be simulated is independent of time, t can be a constant, such as t=1. By simulating the Hamiltonian H on an exponential basis, different Hamiltonians can be manipulated on the physical system, thus realizing the time evolution from the initial state to the final state.

[0095] Calculate e -iHt There are many methods, mainly differing in their approximation algorithms, and t is generally assumed to be 1. For example, Taylor's formula and Euler's formula can be used to approximate e. iA Alternatively, the Pad approximation can be used to calculate e. iA The following uses Taylor's formula and Euler's formula as examples to explain how to calculate e. iA of:

[0096] e iA =cosA + isinA

[0097]

[0098]

[0099] To reduce computational load, this application pre-decomposes A. Since A is a square matrix, singular value decomposition (SVD) or eigenvalue decomposition is performed on the square matrix A; the decomposition result is A′. The following explanation uses singular value decomposition as an example.

[0100] Singular value decomposition (SVD) is an important matrix decomposition in linear algebra, with significant applications in signal processing, statistics, and other fields. For a square matrix A... n×n After singular value decomposition, it can be represented by the multiplication of three matrices:

[0101]

[0102] Where U is an n×n unitary matrix, also called a left singular vector matrix; ∑ is an r×n non-negative real diagonal matrix; and V * , that is, the conjugate transpose of V, is an n×n unitary matrix, also called the right singular vector matrix. Such a decomposition is called the singular value decomposition of A, and the elements on the ∑ diagonal are the singular values ​​of A.

[0103] After performing singular value decomposition on the square matrix A, the exponentiation operation only needs to be performed on the diagonal matrix ∑ after decomposition, that is, on the main diagonal elements of the diagonal matrix ∑. This greatly simplifies the computation and reduces the time and space complexity.

[0104] e iA The calculation result is also in the form of a square matrix. After obtaining the calculation result, step S330 is executed.

[0105] S330, decompose the calculation result into a set of a finite number of quantum gates.

[0106] In one embodiment, step S330 may include the following steps:

[0107] S3301 converts the indices of non-zero elements in matrix B into binary representation. iA The calculation result is a square matrix B, in which the non-zero elements are B0 and B1. kj Let k and j correspond to the row and column indices respectively. Then the square matrix B can be represented as: Where S is the set of non-zero elements in the square matrix B, which can also be understood as the number of terms in the linear combination before merging coefficients; s is the iteration index of the non-zero elements in the square matrix B, which can also be understood as the nth non-zero element.

[0108] Among them, the non-zero elements B in the square matrix B kj Subscripts can be converted into the following binary representation:

[0109]

[0110]

[0111] Where n is the number of bits after converting the decimal row or column index to binary, and m is an integer between 1 and n.

[0112] S3302, based on the binary representation of the indices of the non-zero elements in matrix B, expand each item in matrix B and re-represent it as matrix B′. Here, each item in matrix B is an item in the set of non-zero elements of matrix B.

[0113] After decomposing the square matrix B into its constituent elements and expanding it, the resulting matrix B′ can be represented as follows:

[0114]

[0115] S3303, determine the logic gate type corresponding to each sub-item in each item of matrix B′ based on the value of each sub-item in each item of matrix B′.

[0116] According to the representation of matrix B′, where, The value can only be 0 or 1. The value can only be 0 or 1. That is, for each item in matrix B′, the sub-item... Its value can only be one of |0><0|, |0><1|, |1><0|, or |1><1|.

[0117] Based on the values ​​of the sub-items in each item of matrix B′, we can define each value as corresponding to a logic gate type formed by combining a Pauli gate and an I-gate (a 2x2 identity matrix). The correspondence is as follows:

[0118]

[0119]

[0120]

[0121]

[0122] Where i represents an imaginary number.

[0123] S3304, Based on the logic gate type corresponding to each sub-item in matrix B′, determine the quantum circuit and the coefficients corresponding to the quantum circuit.

[0124] The quantum circuits correspond to non-zero elements.

[0125] Specifically, step S3304 may include the following steps:

[0126] S33041, Determine the quantum circuit based on the logic gate type corresponding to each sub-item in matrix B′;

[0127] Define a finite number of quantum logic gates to be applied to the qubits. Based on the logic gate type corresponding to each sub-item in matrix B′, apply the logic gates of the logic gate type to the qubits in a time sequence to construct a quantum circuit.

[0128] The matrix B″ corresponding to the constructed quantum circuit is represented as follows:

[0129]

[0130] Where L is the set of Pauli operator subroutines, l is the iteration index of the Pauli operator subroutines, and ω represents the subroutines.

[0131] S33042, Determine the coefficients corresponding to the quantum circuit based on the values ​​of the matrix corresponding to the quantum circuit and the values ​​of the non-zero elements.

[0132] The coefficients corresponding to the quantum circuit can be determined by the following calculation method: dividing the value of the non-zero element by the value of the matrix corresponding to the quantum circuit will yield the quantum circuit and coefficients corresponding to the non-zero element.

[0133] Since the fundamental properties of sets include independence, distinctness, and unorderedness—that is, for any set, no two elements are the same—step S3304 may optionally include the following steps:

[0134] S33043, confirming the existence of identical quantum circuits.

[0135] That is, after executing step S33042, it is necessary to determine whether there are identical quantum circuits. If identical quantum circuits exist, then execute step S33044. If identical quantum circuits do not exist, then execute step S340.

[0136] S33044 combines identical quantum circuits into one item.

[0137] The coefficients of the merged quantum circuits are the sum of the coefficients of the corresponding quantum circuits before the merger.

[0138] After determining the quantum circuit and its corresponding coefficients, step S340 can be executed to construct the quantum circuit for simulation. At this point, the coefficients can be encoded into the quantum circuit, and then the individual quantum circuits can be connected in sequence to construct a complete quantum circuit.

[0139] In another embodiment, when step S330 is executed, the following judgment may also be performed first: judgment eiA Is the calculated result a unitary matrix? If it is not a unitary matrix, then e... iA The calculation result is directly decomposed into a linear combination of a finite number of Pauli gates. If it is a unitary matrix, then e is transformed based on the Haushold transformation. iA The calculation results are decomposed into a set of single-qubit gates and controlled NOT gates, and the decomposition process is as follows:

[0140] Assume e iA The calculated result is a unitary matrix B, where the order of B is N = 2. n n is the number of qubits in the quantum circuit to be encoded; based on the Haushold transformation, determine the diagonal matrix R and (N-1) Haushold matrices such that the unitary matrix B = H1H2…H j …H N-1 R, where H j Let A be the Haushold matrix corresponding to the j-th Haushold transformation of the unitary matrix A, where 1 ≤ j ≤ N-1; and let the diagonal matrix R be split into 2... n-1 The unitary matrix corresponding to a single quantum logic gate carrying controlled information, and satisfying Among them, U m Let m be the unitary matrix corresponding to the (m+1)th single quantum logic gate carrying controlled information, where 0 ≤ m ≤ 2. n-1 -1; Determine that it includes the 2 n-1 A sequence of single quantum logic gates carrying controlled information constitutes the sub-quantum circuit Cir. R At this point, step S340 can be executed to construct a quantum circuit based on the set of the finite number of quantum gates. That is, based on the unitary matrix corresponding to the single quantum logic gate carrying controlled information and the sequence of the single quantum logic gates carrying controlled information, sub-quantum circuits Cir are sequentially connected. R Cir N-1 ... Cir j Cir1 generates quantum circuits corresponding to the unitary matrix B.

[0141] S340, construct a quantum circuit for simulation based on the set of the finite number of quantum gates.

[0142] Define a finite number of quantum logic gates to be applied to qubits, and construct quantum circuits by applying the quantum gates in the set to the qubits in a time sequence.

[0143] After constructing the quantum circuit, simulation can be performed by manipulating the quantum circuit. Furthermore, the simulation method for the Hamiltonian in this application may also include the following steps:

[0144] S350, the constructed quantum circuit is operated according to a preset quantum operation object, wherein the operation object is a set of operation instructions for the quantum circuit.

[0145] The set of instructions for operating the quantum circuit includes: instructions for obtaining the matrix corresponding to the constructed quantum circuit; instructions for assembling the quantum circuit into program code; instructions for determining whether the matrix corresponding to the quantum circuit is a unitary matrix; instructions for operating the matrix corresponding to the quantum circuit; and instructions for operating the quantum circuit.

[0146] The program code can be OriginIR from Origin Quantum Computing, OpenQASM from IBM, or other quantum application software. Instructions for operating the quantum circuit can include inserting logic gates, applying transpose conjugation and controlled operations, adding control bits, and measurement instructions.

[0147] Optionally, after simulating the Hamiltonian, the similarity of the matrices can be calculated to measure whether the Hamiltonian to be simulated has been effectively simulated by the quantum circuit. Furthermore, the Hamiltonian simulation method of this application may also include the following steps:

[0148] S360, based on the dimension of the circuit matrix corresponding to the constructed quantum circuit or the dimension of the calculation result matrix corresponding to the calculation result, the circuit matrix, and the calculation result matrix, obtain the process fidelity from the calculation result matrix to the circuit matrix.

[0149] After obtaining the circuit matrix U corresponding to the constructed quantum circuit and the calculation result matrix B corresponding to the calculation result, we can first check whether the circuit matrix U and the calculation result matrix A are both square matrices and have the same dimension.

[0150] A square matrix is ​​a matrix where the number of rows and columns are the same; its dimension is either the number of rows or columns. We can determine this by comparing the number of rows and columns of the route matrix U with the number of rows and columns of the calculated matrix B. If both are square matrices, then both U and B are square matrices. Next, we check if the number of rows or columns of the route matrix U is the same as that of the calculated matrix B. If they are, then U and B have the same dimension, and we continue with step S360. If they are different, step S360 is not executed.

[0151] In S360, the process fidelity is a fidelity measure of two matrices, used to measure the fidelity relationship between the two matrices.

[0152] Furthermore, the process of obtaining the fidelity from the calculated result matrix B to the line matrix U based on the dimension of the line matrix U or the calculated result matrix B, the line matrix U, and the calculated result matrix B may include the following steps:

[0153] S3601, calculate B1.

[0154] in, dim(B) represents the dimension of the calculated matrix B.

[0155] S3602, calculate the conjugate matrix U1 of the line matrix U.

[0156] Right now

[0157] S3603, obtain the norm value of the dot product of B1 and the conjugate matrix U1, where the norm value is the process fidelity from the calculated result matrix B to the line matrix U.

[0158] The dot product of B1 and its conjugate matrix U1 is res, i.e., res = A1·U1.

[0159] In other words, the vector after expanding res by rows is:

[0160] res_vec = (res1, res2, ..., res i ,…res n )

[0161] Where n is the square of the dimension of the calculated matrix B.

[0162] The norm value is obtained through the following formula:

[0163]

[0164] Where, |res|2 is the norm value, which is the process fidelity from the calculated result matrix B to the line matrix U.

[0165] After obtaining the process fidelity from the calculation result matrix B to the line matrix U, proceed to step S370.

[0166] S370, calculate the similarity between the line matrix and the calculation result matrix based on the dimension of the line matrix or the dimension of the calculation result matrix and the process fidelity from the calculation result matrix to the line matrix.

[0167] The similarity between the line matrix U and the calculated matrix B is obtained using the following formula:

[0168]

[0169] F state_fid (B,U)=‖res‖2

[0170] Among them, F ave_fid (B,U) represents the similarity between the line matrix U and the calculated result matrix B, F state_fid(B,U) represents the process fidelity from the calculated result matrix B to the line matrix U.

[0171] Further, after obtaining the similarity between the line matrix U and the calculated result matrix B, step S380 can be executed.

[0172] S380, Based on the similarity between the circuit matrix and the calculation result matrix, it is confirmed that the Hamiltonian H to be simulated is effectively simulated by the quantum circuit.

[0173] Specifically, confirming that the Hamiltonian H to be simulated is effectively simulated by the quantum circuit based on the similarity between the circuit matrix U and the calculated result matrix B includes:

[0174] Determine the similarity F between the line matrix U and the calculated result matrix A. ave_fid Does (B,U) satisfy the following inequality:

[0175] |F ave_fid (B,U)-1|<α

[0176] Here, α is the threshold value, which can be set manually.

[0177] If the above inequality holds, then the similarity F between the line matrix U and the calculated result matrix B can be considered to be... ave_fid If (B,U) is close to 1, then the Hamiltonian H to be simulated can be effectively simulated by the quantum circuit. If the above inequality does not hold, then the Hamiltonian H to be simulated cannot be effectively simulated by the quantum circuit.

[0178] Compared with existing technologies, based on Figure 3 The simulation method of Hamiltonian shown can be used to simulate Hamiltonian in the form of a square matrix if the Hamiltonian to be simulated is in the form of a square matrix. This application can decompose the calculation result of the square matrix form into a set of finite quantum gates by calculating the Hamiltonian to be simulated on the e-exponent, and then construct a quantum circuit based on the set to realize the simulation of the evolution of Hamiltonian, thus solving the technical problem of difficulty in simulating Hamiltonian in related technologies.

[0179] The above combination Figure 3 The simulation method for Hamiltonian provided in the embodiments of this application is described in detail. The following is in conjunction with... Figure 4 The apparatus for performing the Hamiltonian simulation method provided in the embodiments of this application is described in detail.

[0180] For example, see Figure 4 , Figure 4 A schematic block diagram of a Hamiltonian simulation device provided for an exemplary embodiment of this application, and Figure 3 Corresponding to the process shown, the Hamiltonian simulation device 400 includes:

[0181] The determination module 410 is used to determine the Hamiltonian H to be simulated; where H is a square matrix representation and is independent of time.

[0182] The first calculation module 420 is used to calculate e. iA Where A is a square matrix and A = -Ht, t is a constant, and the calculation result is in square matrix form;

[0183] The decomposition module 430 is used to decompose the calculation result into a set of a finite number of quantum gates;

[0184] The construction module 440 is used to construct a quantum circuit for simulation based on the set of the finite number of quantum gates.

[0185] Optionally, the computing module 420 may include:

[0186] The first decomposition unit is used to perform eigenvalue decomposition or singular value decomposition on the square matrix A; where the decomposition result is A′.

[0187] The calculation unit is used to calculate e based on Taylor's formula and Euler's formula. iA′ .

[0188] Optionally, the calculation result is the calculation result matrix B; the decomposition module 430 includes:

[0189] The conversion unit is used to convert the indices of non-zero elements in the calculation result matrix B into binary representation.

[0190] The second decomposition unit is used to expand each item in the calculation result matrix B and re-represent it as matrix B′ based on the binary representation of the non-zero element subscripts in the calculation result matrix B.

[0191] The first determining unit is used to determine the logic gate type corresponding to each sub-item in each item of matrix B′ based on the value of each sub-item in each item of matrix B′.

[0192] The second determining unit is used to determine the quantum circuit and the coefficients corresponding to the quantum circuit according to the logic gate type corresponding to each sub-item in matrix B′; wherein the quantum circuit corresponds to non-zero elements.

[0193] Optionally, the decomposition module 430 may also include:

[0194] A confirmation unit is used to confirm whether the calculation result is a unitary matrix;

[0195] The third decomposition unit is used to decompose the computation result into a set of single-qubit gates and controlled NOT gates based on the Haushold transformation when the computation result is a unitary matrix.

[0196] Optionally, the Hamiltonian simulation device 400 also includes:

[0197] An operation module is used to operate the constructed quantum circuit according to a preset quantum operation object, wherein the operation object is a set of operation instructions for the quantum circuit.

[0198] Optionally, the set of operation instructions for the quantum circuit includes: instructions for obtaining the matrix corresponding to the constructed quantum circuit; instructions for assembling the quantum circuit into program code; instructions for determining whether the matrix corresponding to the quantum circuit is a unitary matrix; instructions for operating the matrix corresponding to the quantum circuit; and instructions for operating the quantum circuit.

[0199] Optionally, the Hamiltonian simulation device 400 also includes:

[0200] The acquisition module is used to acquire the process fidelity from the calculation result matrix to the line matrix based on the dimension of the line matrix corresponding to the constructed quantum circuit or the dimension of the calculation result matrix corresponding to the calculation result, the line matrix, and the calculation result matrix.

[0201] The second calculation module is used to calculate the similarity between the line matrix and the calculation result matrix based on the dimension of the line matrix or the dimension of the calculation result matrix and the process fidelity from the calculation result matrix to the line matrix.

[0202] The confirmation module is used to confirm, based on the similarity between the circuit matrix and the calculation result matrix, that the Hamiltonian to be simulated is effectively simulated by the quantum circuit.

[0203] Compared with existing technologies, based on Figure 4 The Hamiltonian simulation device shown can be used to simulate Hamiltonians in the form of a square matrix if the Hamiltonian to be simulated is in the form of a square matrix. This application can decompose the calculation result of the square matrix form into a set of finite quantum gates by calculating the Hamiltonian to be simulated on the e-exponent, and then construct a quantum circuit based on the set to realize the simulation of the evolution of the Hamiltonian, thus solving the technical problem of the difficulty in simulating Hamiltonians in related technologies.

[0204] This application also provides a storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.

[0205] Specifically, in this embodiment, the storage medium can be configured to store a computer program for performing the following steps:

[0206] S310, Determine the Hamiltonian H to be simulated. Wherein, the Hamiltonian H to be simulated is in the form of a square matrix and is independent of time.

[0207] S320, calculate e iA Where A is a square matrix and A = -Ht, t is a constant, and the calculation result is in square matrix form.

[0208] S330, decompose the calculation result into a set of a finite number of quantum gates.

[0209] S340, construct a quantum circuit for simulation based on the set of the finite number of quantum gates.

[0210] Specifically, in this embodiment, the storage medium may include, but is not limited to, USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks, and other media capable of storing computer programs.

[0211] This application also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0212] Specifically, the aforementioned electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the aforementioned processor, and the input / output device is connected to the aforementioned processor.

[0213] Specifically, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0214] S310, Determine the Hamiltonian H to be simulated. Wherein, the Hamiltonian H to be simulated is in the form of a square matrix and is independent of time.

[0215] S320, calculate e iA Where A is a square matrix and A = -Ht, t is a constant, and the calculation result is in square matrix form.

[0216] S330, decompose the calculation result into a set of a finite number of quantum gates.

[0217] S340, construct a quantum circuit for simulation based on the set of the finite number of quantum gates.

[0218] Optionally, the electronic device may have one or more processors. The processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor that reads software code stored in memory.

[0219] Optionally, the electronic device may contain one or more memories. The memory may be integrated with the processor or disposed separately from it; this application does not limit this. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or disposed separately on different chips. This application does not specifically limit the type of memory or the arrangement of the memory and processor.

[0220] For example, the electronic device may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0221] It should be understood that the processor in the embodiments of this application can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0222] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0223] This application also provides a quantum computer operating system, which implements the simulation of Hamiltonians according to any of the above-described method embodiments provided in this application.

[0224] Embodiments of this application also provide a quantum computer, which includes the quantum computer operating system described above.

[0225] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.

[0226] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.

[0227] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0228] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0229] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0230] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0231] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0232] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0233] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0234] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0235] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for simulating Hamiltonians, characterized in that, The method includes: Determine the Hamiltonian H to be simulated; where H is a square matrix representation and is independent of time. calculate Where A is a square matrix and t is a constant, and the calculation result is in the form of a square matrix; the calculation This includes: performing eigenvalue decomposition or singular value decomposition on square matrix A; the decomposition result is... Based on Taylor's formula and Euler's formula, calculate ; The calculation results are decomposed into a set of a finite number of quantum gates; A quantum circuit is constructed based on the set of the finite number of quantum gates to perform the simulation.

2. The method according to claim 1, characterized in that, The calculation result is a calculation result matrix B; the decomposition of the calculation result into a set of a finite number of quantum gates includes: Convert the indices of non-zero elements in the calculated matrix B into binary representation; Based on the binary representation of the non-zero element indices in the calculated matrix B, each item in the calculated matrix B is expanded and re-represented as a matrix. ; According to the matrix The value of each sub-item in each term determines the matrix. The logic gate type corresponding to each sub-item in each item; According to the matrix The logic gate type corresponding to each sub-item in the algorithm determines the quantum circuit and the coefficients corresponding to the quantum circuit; wherein the quantum circuit corresponds to a non-zero element.

3. The method according to claim 1, characterized in that, The step of decomposing the calculation result into a set of a finite number of quantum gates includes: Confirm whether the calculation result is a unitary matrix; When the computation result is a unitary matrix, the computation result is decomposed into a set of single-qubit gates and controlled NOT gates based on the Haushold transformation.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: The quantum circuit is constructed according to a preset quantum operation object, wherein the operation object is a set of operation instructions for the quantum circuit.

5. The method according to claim 4, characterized in that, The set of instructions for operating the quantum circuit includes: instructions for obtaining the matrix corresponding to the constructed quantum circuit; instructions for assembling the quantum circuit into program code; instructions for determining whether the matrix corresponding to the quantum circuit is a unitary matrix; instructions for operating the matrix corresponding to the quantum circuit; and instructions for operating the quantum circuit.

6. The method according to claim 1, characterized in that, The method further includes: Based on the dimension of the circuit matrix corresponding to the constructed quantum circuit or the dimension of the calculation result matrix corresponding to the calculation result, the circuit matrix, and the calculation result matrix, the process fidelity from the calculation result matrix to the circuit matrix is ​​obtained; The similarity between the route matrix and the calculated result matrix is ​​calculated based on the dimension of the route matrix or the dimension of the calculated result matrix and the fidelity of the process from the calculated result matrix to the route matrix. Based on the similarity between the circuit matrix and the calculation result matrix, it is confirmed that the Hamiltonian to be simulated is effectively simulated by the quantum circuit.

7. A device for simulating Hamiltonian, characterized in that, The device includes: The determination module is used to determine the Hamiltonian H to be simulated; where H is a square matrix representation and is independent of time. The calculation module is used for calculation. Where A is a square matrix and t is a constant, and the calculation result is in the form of a square matrix; the calculation This includes: performing eigenvalue decomposition or singular value decomposition on square matrix A; the decomposition result is... Based on Taylor's formula and Euler's formula, calculate ; A decomposition module is used to decompose the calculation results into a set of a finite number of quantum gates; A construction module is used to construct quantum circuits for simulation based on the set of the finite number of quantum gates.

8. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 6.

9. A storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program is configured to execute the method described in any one of claims 1 to 6 when it is run.

Citation Information

Patent Citations

  • Constructing and programming quantum hardware for robust quantum annealing processes

    CN105960650A

  • Method and device for calculating quantum partition function, and program product

    CN112633511A