WO2022143789A1 - 量子预处理方法、装置、存储介质及电子装置 - Google Patents

量子预处理方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
WO2022143789A1
WO2022143789A1 PCT/CN2021/142565 CN2021142565W WO2022143789A1 WO 2022143789 A1 WO2022143789 A1 WO 2022143789A1 CN 2021142565 W CN2021142565 W CN 2021142565W WO 2022143789 A1 WO2022143789 A1 WO 2022143789A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
quantum
vector
linear system
sparse
Prior art date
Application number
PCT/CN2021/142565
Other languages
English (en)
French (fr)
Inventor
李叶
安宁波
窦猛汉
Original Assignee
合肥本源量子计算科技有限责任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202011633352.2A external-priority patent/CN114692879B/zh
Priority claimed from CN202011637102.6A external-priority patent/CN114764618B/zh
Priority claimed from CN202110122930.4A external-priority patent/CN114819167B/zh
Application filed by 合肥本源量子计算科技有限责任公司 filed Critical 合肥本源量子计算科技有限责任公司
Priority to EP21914521.6A priority Critical patent/EP4273758A1/en
Priority to US18/270,605 priority patent/US20240112054A1/en
Publication of WO2022143789A1 publication Critical patent/WO2022143789A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers

Definitions

  • the present disclosure belongs to the technical field of quantum computing, in particular to a quantum preprocessing method, device, storage medium and electronic device for linear systems.
  • Quantum computing is a new computing method, the principle is to build a computing framework with quantum mechanics theory. When solving some problems, quantum computing has the effect of exponential speedup compared to the optimal classical algorithm. Solving linear systems is a class of problems that can be solved using quantum computing. Quantum computing utilizes quantum superposition and has an exponential acceleration effect when a quantum linear solver solves a linear system. Therefore, quantum linear solvers are expected to accelerate the field of science and engineering. The process of solving many practical problems.
  • Quantum preprocessing technology is a technology developed to solve the impact of quantum computing acceleration performance when the condition number of a linear system is large.
  • Existing quantum preprocessing techniques are too scarce, effective general quantum preprocessing techniques have not been proposed, and existing quantum preprocessing techniques cannot satisfy different linear systems.
  • An object of the present disclosure is to provide a quantum preprocessing method and device for linear systems to solve the deficiencies in the prior art, which can realize a quantum preprocessing technology that can satisfy different linear systems, and is used for quantum computing. Simulation, reduce the condition number, and fill the relevant technical gaps in the field of quantum computing.
  • a quantum preprocessing method for a linear system comprising: obtaining a linear system element information of the first matrix A and the first vector b in the b'; constructing a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit A quantum circuit and the second quantum circuit respectively perform an evolution operation of quantum states to obtain the quantum states of the first quantum circuit and the second quantum circuit after evolution.
  • a quantum preprocessing apparatus for a linear system, comprising modules for performing various processes in the quantum preprocessing methods disclosed herein.
  • a storage medium having a computer program stored therein, wherein the computer program is configured to execute the method described in any one of the above when run.
  • an electronic device comprising a memory and a processor, the memory having a computer program stored therein, the processor being configured to run the computer program to perform any of the above method described.
  • the present disclosure provides a quantum preprocessing method for a linear system.
  • the element information of the first matrix A and the first vector b in the linear system is obtained, a new matrix M for linear system preprocessing is constructed, and then the element information of the first matrix A and the first vector b in the linear system is obtained.
  • the new matrix M calculate the second matrix A' and the second vector b', and finally construct a first quantum circuit representing the quantum state evolution of the elements of the specific class of the second matrix A', representing the specific class elements of the second vector b'
  • the second quantum circuit of the quantum state evolution of the first quantum circuit and the second quantum circuit respectively perform the quantum state evolution operation to obtain the quantum states of the first quantum circuit and the second quantum circuit after evolution.
  • the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum prediction that can satisfy different linear systems.
  • Processing technology used for the simulation of quantum computing, reducing the condition number of linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • FIG. 1 is a block diagram of a hardware structure of a computer terminal for a quantum preprocessing method for a linear system according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of a quantum preprocessing method for a linear system according to one embodiment
  • FIG. 3 is a schematic flowchart of a quantum preprocessing method for a linear system according to another embodiment
  • FIG. 4 is a schematic flowchart of a schematic flowchart of a quantum preprocessing method based on a sparse linear system according to another embodiment
  • FIG. 5 is a schematic flowchart of a sparse approximate inverse quantum preprocessing method for a sparse linear system according to another embodiment
  • FIG. 6 is a schematic diagram of a quantum circuit for T according to another embodiment
  • FIG. 7 is a schematic diagram of a quantum circuit for a walking operator W according to another embodiment
  • FIG. 8 is a schematic diagram of a quantum circuit for realizing a third Oracle function according to another embodiment
  • FIG. 9 is a schematic structural diagram of a quantum preprocessing device for a linear system according to another embodiment.
  • the embodiments of the present disclosure first provide a quantum preprocessing method for a linear system, and the method can be applied to electronic devices, such as computer terminals, specifically, ordinary computers, quantum computers, and the like.
  • FIG. 1 is a hardware structural block diagram of a computer terminal of a quantum preprocessing method for a linear system provided by an embodiment of the present disclosure.
  • the computer terminal may include one or more (only one is shown in FIG. 1 ) processor 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data, optionally, the above-mentioned computer terminal may further include a transmission device 106 and an input/output device 108 for communication functions.
  • the structure shown in FIG. 1 is only a schematic diagram, which does not limit the structure of the above-mentioned computer terminal.
  • the computer terminal may also include more or fewer components than shown in FIG. 1 , or have a different configuration than that shown in FIG. 1 .
  • the memory 104 can be used to store software programs and modules of the application software, such as program instructions/modules corresponding to implementing a quantum preprocessing method for a linear system in the embodiments of the present application.
  • the processor 102 runs the software stored in the memory 104 by running the software. Programs and modules, thereby executing various functional applications and data processing, implement the above-mentioned methods.
  • 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, memory 104 may further include memory located remotely from processor 102, which may be connected to a computer terminal through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Transmission means 106 are used to receive or transmit data via a network.
  • the specific example of the above-mentioned network may include a wireless network provided by the communication provider of the computer terminal.
  • the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 may be a radio frequency (Radio Frequency, RF) module, which is used for wirelessly communicating with the Internet.
  • RF Radio Frequency
  • a real quantum computer is a hybrid structure, which consists of two parts: one part is a classical computer, which is responsible for performing classical calculations and control; the other part is a quantum device, which is responsible for running quantum programs to realize quantum computing.
  • a quantum program is a sequence of instructions written in a quantum language such as QRunes that can run on a quantum computer, which supports the operation of quantum logic gates, and finally realizes quantum computing.
  • a quantum program is a series of instruction sequences that operate quantum logic gates in a certain sequence.
  • Quantum computing simulation is a process in which a virtual architecture (ie, a quantum virtual machine) built with the resources of an ordinary computer realizes the simulation operation of a quantum program corresponding to a specific problem. Often, it is necessary to construct a quantum program corresponding to a particular problem.
  • the quantum program referred to in the embodiments of the present disclosure refers to a program written in a classical language to characterize qubits and their evolution, wherein qubits, quantum logic gates, etc. related to quantum computing are represented by corresponding classical codes.
  • quantum circuits also known as quantum logic circuits
  • quantum logic circuits are the most commonly used general-purpose quantum computing models, representing circuits that operate on qubits under abstract concepts, including qubits, circuits (timelines) , and various quantum logic gates, the results are often read out through quantum measurement operations.
  • the wires can be regarded as connected by time, that is, the state of qubits evolves naturally with time.
  • the instruction of the Hamiltonian operator which is operated until it encounters a logic gate.
  • a quantum program as a whole corresponds to a total quantum circuit, and the quantum program in this disclosure refers to the total quantum circuit, wherein the total number of qubits in the total quantum circuit is the same as the total number of qubits in the quantum program.
  • a quantum program can be composed of quantum circuits, measurement operations for qubits in the quantum circuits, registers to save the measurement results, and control flow nodes (jump instructions).
  • a quantum circuit can contain dozens, hundreds or even thousands of them. Tens of thousands of quantum logic gate operations.
  • the execution process of a quantum program is the process of executing all quantum logic gates in a certain sequence. It should be noted that timing is the time sequence in which a single quantum logic gate is executed.
  • Quantum logic gates are the basis of quantum circuits. Quantum logic gates include single-bit quantum logic gates, such as Hadamard gates (H gates, Hadamard gates), Pauli-X gates (X gate), Pauli-Y gate (Y gate), Pauli-Z gate (Z gate), RX gate, RY gate, RZ gate, etc.; multi-bit quantum logic gates, such as CNOT gate, CR gate, iSWAP Doors, Toffoli doors, etc.
  • Quantum logic gates are generally represented by a unitary matrix, and a unitary matrix is not only a matrix form, but also an operation and transformation.
  • the function of the general quantum logic gate on the quantum state is calculated by multiplying the unitary matrix by the matrix corresponding to the right vector of the quantum state.
  • the basic unit of information is a bit, and a bit has two states, 0 and 1.
  • the most common physical implementation is to represent these two states by the level of the level.
  • the basic unit of information is a quantum bit, and a quantum bit also has two states of 0 and 1, denoted as
  • the state of the qubit will collapse to a certain state (eigenstate, here
  • 2 1, and
  • Quantum state refers to the state of qubit, and its eigenstate is represented by binary in quantum algorithm (or quantum program). For example, a group of qubits are q0, q1, q2, which represent the 0th, 1st, and 2nd qubits, and the order from high to low is q2q1q0, and the quantum states of this group of qubits are 23 eigenstates.
  • Superposition state, 8 eigenstates (determined states) are:
  • a quantum state is a superposition state composed of various eigenstates. When the probability amplitude of other states is 0, it is in one of the certain eigenstates.
  • FIG. 2 is a schematic flowchart of a quantum preprocessing method for linear systems according to one embodiment. As shown in Figure 2, the quantum preprocessing method for linear systems includes the following steps.
  • S24 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • FIG. 3 is a schematic flowchart of a quantum preprocessing method for a linear system provided by an embodiment of the present disclosure, which may include the following steps:
  • S201 Acquire element information of the first matrix A and the first vector b in the linear system.
  • a linear system is a mathematical model, which refers to a system composed of linear operators that satisfies both superposition and homogeneity (also known as homogeneity).
  • linear systems are used in many fields of science and engineering. Core.
  • the element information and dimension of the first matrix A and the first vector b are obtained respectively.
  • the first matrix A needs to be an invertible matrix, and due to the following need to load the data of the first vector b into the quantum circuit, the dimension N of the first vector b needs to be expressed as a positive integer power of 2 . If N does not conform to the form of a positive integer power of 2, zeros are filled in the elements of the first vector b until it conforms to the form of a positive integer power of 2.
  • the dimension information of the first matrix A also needs to be in the form of a positive integer power of 2. If the zero-filling operation is required, the principle and method are the same as the above-mentioned method of zero-filling the elements of the first vector b. This will not be repeated here.
  • the position of the N elements on the diagonal line from the upper left corner to the lower right corner is called the main diagonal element of the N-order matrix.
  • a new matrix M for linear system preprocessing is constructed.
  • the first matrix So build a new matrix for linear system preprocessing
  • the second matrix A' and the second vector b' are calculated.
  • S204 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • FIG. 4 is a schematic flowchart of a quantum preprocessing method based on a sparse linear system provided by an embodiment of the present disclosure, which may include the following steps:
  • a linear system is a mathematical model, which refers to a system composed of linear operators that satisfies both superposition and homogeneity (also known as homogeneity).
  • linear systems are the core of many scientific and engineering fields.
  • the sparse linear system is to perform an identity transformation on the linear matrix corresponding to the linear system to make it appear as many 0 elements as possible. The purpose of this is to simplify the system design and calculation, and its application fields are very wide, such as complex fluid dynamics problems, structural analysis, electromagnetic field calculation and so on.
  • the method before acquiring the information of each specific type of element of the second matrix A' and the second vector b' preprocessed by the Neumann polynomial of the sparse linear system, the method further includes:
  • S2111 Acquire element information of the first matrix A and the first vector b in the sparse linear system.
  • the element information and dimension of the first matrix A and the first vector b are obtained respectively.
  • the first matrix A needs to be an invertible matrix, and due to the need to load the data of the first vector b into the quantum circuit, the dimension P of the first vector b needs to be expressed as a positive integer power of 2 . If P does not conform to the form of a positive integer power of 2, zeros are filled in the elements of the first vector b until it meets the form of a positive integer power of 2.
  • the dimension information of the first matrix A also needs to be in the form of a positive integer power of 2. If the zero-filling operation is required, the principle and method are the same as the above-mentioned method of zero-filling the elements of the first vector b. This will not be repeated here.
  • Oracle can be understood as a module (similar to a black box) that performs specific functions in a quantum algorithm, and there will be specific implementation methods in specific problems.
  • the first vector b Given the data of the first matrix A and the first vector b, read Oracle: Its functions are as follows:
  • f(j,l) represents the column number of the lth non-zero element of the jth row of the first matrix A
  • a jk represents the column number of the non-zero element in the jth row and the kth column of the first matrix A;
  • the position of the P elements on the diagonal line from the upper left corner to the lower right corner is called the main diagonal element of the P-order matrix.
  • a new matrix D for sparse linear system preprocessing is constructed.
  • the first matrix Therefore, construct new matrices for preprocessing of sparse linear systems
  • S2013 Calculate the second matrix A' and the second vector b' by using the Neumann polynomial and the inverse matrix of the new matrix D, wherein the second matrix
  • the second matrix A' and the second vector b' are calculated.
  • N 1 I- ⁇ A, where ⁇ is a scaling parameter.
  • D is the matrix represented by the diagonal elements of the first matrix A.
  • S212 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • the specific class element of the second matrix A' may be a non-zero element
  • a first quantum circuit representing the quantum state evolution of the specific class element of the second matrix A' is constructed to represent the specific class element of the second vector b'
  • the first Oracle is used to extract the position information of the non-zero elements in the second matrix A', so as to encode the column sequence number of the l-th non-zero element in the j-th row of the second matrix A' into the second matrix A'.
  • the first Oracle is Used to implement:
  • the f(j,l) is the column number of the l-th non-zero element in the j-th row of the second matrix A', and the non-zero elements of the corresponding target row in the second matrix A' are all in this row.
  • the serial number of the element that is not 0 is encoded into a set of qubit bits to realize the conversion of the quantum state:
  • the quantum state passing through the first Oracle may be in the form of:
  • j is the target value, representing the jth row of the matrix; Indicates tensor product or Zhang multiplication; d is the total number of non-zero elements in the jth row; l is the sequence number of all non-zero elements in the jth row of the non-zero elements, indicating the lth non-zero element,
  • k> The corresponding quantum A bit can be defined as the first bit.
  • the matrix information and column subscript information in the second matrix A' determine the element value of the non-zero element, and encode the element value into a set of qubits, that is, the jth row in the second matrix A'
  • the element information of the k columns is encoded on the qubits of the first quantum circuit.
  • the second Oracle is used to extract element information of non-zero elements in the second matrix A', so as to encode the element information of the jth row and the kth column in the second matrix A' into the second matrix A' on the qubits of a quantum circuit.
  • the second Oracle is Used to implement:
  • the A' jk is a non-zero element of the j-th row and the k-th column in the second matrix A'.
  • the second Oracle is implemented in the following manner:
  • the A jk is a non-zero element in the j-th row and the k-th column in the first matrix A
  • the A jj is a non-zero element on the main diagonal in the first matrix A.
  • first, two groups of qubits whose initial state is the 0 state can be obtained, the jth row and the kth column of the first matrix A are represented in binary, and encoded into the first matrix respectively
  • j,k,0> of the binary representation is obtained, where the qubit bit corresponding to the 0 state is used for subsequent encoding of the binary element value.
  • a group of qubits whose initial state is the 0 state may be obtained, the jth row and the kth column of the second matrix A' are represented in binary, and encoded into the On a set of qubits corresponding to the number of rows and columns of the two-matrix A′, the quantum state
  • the quantum state passing through the second Oracle may be in the form of:
  • A′ jk is the value of the non-zero element in the jth row and the kth column of the matrix.
  • A′jk > can be defined as the second bit.
  • A' jk is a complex number
  • the real part and the imaginary part can be encoded into the second bit, namely
  • A' jk >
  • A′ jk is written in Euler form re i ⁇
  • the information of r and ⁇ can be encoded into the second bit, ie
  • A′ jk >
  • ⁇ j > can be:
  • A′max is the element value with the largest absolute value in the second matrix A′.
  • the encoding to the quantum state of the qubit bit specifically refers to encoding to the right vector of the quantum state, as in the form of
  • the A jk is a non-zero element in the j-th row and the k-th column in the second matrix A
  • the A jj is a non-zero element on the main diagonal in the second matrix A.
  • first, three groups of qubits whose initial state is the 0 state can be obtained, and the jth row and kth column and - ⁇ in the second matrix A are represented in binary, respectively, and encoded into On a set of qubits corresponding to the number of rows and columns of the second matrix A and on a set of qubits whose state is
  • the quantum four operations is a technology that has been widely researched and applied at present, and the process of realizing the specific operation of the first matrix A' is not described here.
  • the second quantum circuit includes a third Oracle
  • the third Oracle is O b′ for realizing:
  • the c' is the normalization constant of the second vector b'
  • the s is the number of elements of the second vector b'. Normalization is to limit the data to be processed to a preset value after processing, for example, normalize the values of m elements so that the sum of the squares of all element values is 1. Its purpose is to facilitate subsequent data processing, and secondly, to ensure faster data encoding efficiency.
  • the third Oracle is used to extract the element information of the second vector b', so as to encode the element information of the second vector b' on the qubits of the second quantum circuit, wherein the encoded
  • the amplitudes of the quantum states on the qubits of the second quantum circuit correspond one-to-one with the elements of the second vector b' after normalization.
  • the data of the second vector b' is loaded into the quantum state amplitudes of the two qubits in the quantum circuit, and the amplitudes of the quantum states on the qubits of the encoded second quantum circuit are the same as the normalized first quantum state amplitudes.
  • the elements of the two vectors b' correspond one-to-one.
  • Oracle can be understood as a module (similar to a black box) that performs specific functions in a quantum algorithm, and there will be specific implementation methods in specific problems.
  • the existing quantum circuit construction can only use the existing single quantum logic gate, double quantum logic gate, etc., which usually have the following problems:
  • the parameters input by the user to Oracle may include: Oracle name (used to identify the functional use of Oracle, such as O b′ ), qubits, matrix elements, and so on.
  • the advantage of this method is that the Oracle is used as a known module as a whole, and there is no need to pay attention to its internal implementation details. It is very simple and clear in the representation of quantum application scenarios such as quantum circuits. Since the classically simulated Oracle function modules can be equivalent to quantum logic gates, the constructed quantum circuit can be simplified, thus saving the memory space required for runtime and speeding up the simulation verification of quantum algorithms.
  • FIG. 5 is a schematic flowchart of a sparse approximate inverse quantum preprocessing method for a sparse linear system provided by an embodiment of the present disclosure, which may include the following steps:
  • S221 Respectively obtain information of the first matrix A and the first vector b in the sparse linear system.
  • a linear system is a mathematical model, which refers to a system composed of linear operators that satisfies both superposition and homogeneity (also known as homogeneity).
  • linear systems are the core of many scientific and engineering fields.
  • the sparse linear system is to perform an identity transformation on the linear matrix corresponding to the linear system to make it appear as many 0 elements as possible. The purpose of this is to simplify the system design and calculation, and its application fields are very wide, such as complex fluid dynamics problems, structural analysis, electromagnetic field calculation and so on.
  • a 4-dimensional first vector b [1, 2, 3, 4].
  • the sparse approximation inverse preprocessing technique aims to explicitly construct a sparse approximation of A - 1 .
  • the most basic premise is that given a sparse first matrix A, there is a certain sense of The sparse approximate matrix M makes M ⁇ A -1 . How to quickly capture the position information of the large elements of A -1 and determine the sparse structure of M is the key to the success of the algorithm.
  • the sparse approximate inverse preprocessing technique of F -norm minimization calculates the sparse approximation M of A -1 by minimizing the residual matrix ⁇ AM-I ⁇ F, where M satisfies a certain sparse structure (M Either given in advance or dynamically determined during algorithm execution). Due to the characteristics of the matrix F -norm, minimizing ⁇ AM-I ⁇ F can be transformed into solving n least squares problems independently, so it has natural parallel characteristics. However, for the general first matrix A, it is often difficult to predetermine a reasonable and effective sparse structure of M.
  • the strategy often starts with a simple initial structure (such as the structure of the identity matrix or the structure of the sparse first matrix A, etc.), and then according to certain rules Gradually expand or adjust adaptively until the residual matrix satisfies a given precision with respect to a certain norm ⁇ AM- I ⁇ F ⁇ , where ⁇ represents the preset precision value, or the number of non-zero elements of M reaches a predetermined value. the given maximum value.
  • a sparse approximate matrix M for sparse linear system preprocessing including:
  • J construct an n-dimensional vector set whose sparse structure is J k , consider the kth column of M, let J k represent the non-zero column index set of A(I k , ⁇ ), A( I k , ⁇ ) represents a sub-matrix composed of rows corresponding to the indices in I k ; the non-zero row index set I k of the first matrix A( ⁇ , J k ), where A( ⁇ , J k ) represents the first matrix
  • the first matrix A is non-singular, and the third matrix A k is of full rank. Therefore, to solve the above least squares problem, a compact QR can be done for the third matrix A k according to the modified Gram-Schmidt orthogonalization process. decompose, i.e.:
  • R is a non-singular n 2 ⁇ n 2 upper triangular matrix
  • Oracle can be understood as a module (similar to a black box) that performs specific functions in a quantum algorithm, and there will be specific implementation methods in specific problems.
  • f(j,l) represents the column number of the lth non-zero element of the jth row of the first matrix A
  • a jk represents the column number of the non-zero element in the jth row and the kth column of the first matrix A;
  • g(j,l) represents the row number of the lth non-zero element in the jth column of the first matrix A;
  • the sequence numbers of all non-0 elements in the target row corresponding to the target row in the second matrix A' are encoded into a set of qubit bits to realize the conversion of quantum states:
  • after The quantum state of can be of the form:
  • j is the target value, representing the jth row of the matrix; Indicates tensor product or Zhang multiplication; d is the total number of non-zero elements in the jth row; l is the sequence number of all non-zero elements in the jth row of the non-zero elements, indicating the lth non-zero element,
  • k> The corresponding quantum A bit can be defined as the first bit.
  • the matrix information and column subscript information in the second matrix A' determine the element value of the non-zero element, and encode the element value into a set of qubits, that is, the jth row in the second matrix A'
  • the element information of the k columns is encoded onto the qubits of the quantum circuit.
  • the It is used to extract the element information of the non-zero elements in the second matrix A', so as to encode the element information of the jth row and the kth column in the second matrix A' to the qubits of the quantum circuit.
  • a group of qubits whose initial state is the 0 state may be obtained, the jth row and the kth column of the second matrix A′ are represented in binary, and encoded into the second On a set of qubits corresponding to the number of rows and columns of the matrix A′, the quantum state
  • A′ jk is the value of the non-zero element in the jth row and the kth column of the matrix.
  • A′jk > can be defined as the second bit.
  • A' jk is a complex number
  • the real part and the imaginary part can be encoded into the second bit, that is
  • A' jk >
  • A′ jk is written in Euler form re i ⁇ , the information of r and ⁇ can be encoded into the second bit, ie
  • A′ jk >
  • ⁇ j > can be:
  • A' jk * is the conjugate of the non-zero element value in the jth row and kth column of the second matrix A'
  • A' max is the element value with the largest absolute value in the second matrix A'
  • quantum circuits can be used to directly represent the solution process of the classical least squares problem. its least squares solution It can be expressed as can be directly calculated expression of which is Each term of is an expression of some elements in A k (because the matrix size of A k is small, its mathematical calculation expression can be given, and its most basic method is to calculate the adjoint matrix to calculate its inverse). Since the dimension of each A k may be different, the first matrix A is a sparse matrix, and n 1 , n 2 are the largest, and the scale is the same, or it can be dynamically calculated according to the matrix dimension of A k .
  • the realization principle of U k To construct an expression by reading elements of Ak , the process is as follows:
  • first, four groups of qubits whose initial state is the 0 state may be obtained, the jth row and the kth column of the third matrix A k are represented in binary, respectively, and encoded into the third
  • 0> in binary representation is obtained, where the qubits corresponding to the 0 state are used for subsequent Encoded binary element value.
  • the above method is the method of constructing the sparse approximate inverse by quantum static
  • the method of constructing the sparse approximate inverse by quantum dynamic is similar to the above method, the difference is that the method of constructing the sparse approximate inverse by quantum dynamic needs to be iterated, such as the 0th iteration.
  • an operation U (0) for extracting M (0) sparse structures and elements can be constructed.
  • the set of candidate indicators that constitute the next filling, then fill method can be as follows:
  • e j is the unit vector of the jth column
  • ⁇ j is a variable intermediate parameter
  • the index j corresponding to the smallest ⁇ j is taken as the most favorable index, and then filled into get (The small ⁇ j indicates that the elements of the index j have an effect on reducing r k , that is, j needs to be added to J k .)
  • Construct a quantum circuit representing the quantum state evolution of each specific class of elements of the second vector b' in the sparse linear system including:
  • the OracleO b' is used to realize:
  • the c' is the normalization constant of the second vector b'
  • the s is the number of elements of the second vector b'.
  • normalization is to limit the data to be processed to a preset value after processing, for example, normalize the values of r elements so that the sum of squares of all element values is 1. Its purpose is to facilitate subsequent data processing, and secondly, to ensure faster data encoding efficiency.
  • the data of the second vector b' is loaded onto the quantum state amplitudes of the two qubits in the quantum circuit, and the amplitudes of the quantum states on the qubits of the encoded quantum circuit are the same as the normalized second vector
  • the elements of b' correspond one-to-one.
  • b> T ⁇ n (M)
  • b> T ⁇ (M)
  • ⁇ ⁇ > 0 and Therefore, it is only necessary to construct operators W and T to construct Mb using quantum walks.
  • FIG. 6 is a schematic diagram of a quantum circuit related to T according to an embodiment of the present disclosure.
  • H represents H gate
  • T represents the overall functional module of the combination of H gate and Oracle, and the function of the T module is to transform
  • the obtained matrix input to the T module is an N-order matrix, above
  • the constructed T module can be equivalent to a quantum logic gate in a quantum circuit, and its matrix form is: ⁇ j ⁇ [N]
  • the H gate is used to construct a superposition state: OF realizes transformation: O H realizes the transformation: Finally, call OH again to perform the transposition conjugate operation, recover the qubits encoding A′ jk , and then output
  • FIG. 7 is a schematic diagram of a quantum circuit for a walking operator W according to an embodiment of the present disclosure.
  • any simple function can be linearly approximated as a linear combination of other functions, and the inverse function of a matrix can be approximated by a Chebyshev polynomial. details as follows:
  • Quantum walks In order to implement the Chebyshev polynomial, it needs to be done in the framework of quantum walks.
  • the quantum circuit of the walk operator W is illustrated.
  • S can be constructed by a group of swap operations (for example, a SWAP gate, two symbols connected with bold X in Figure 7 qubits represent a SWAP gate), and the rest is
  • the operator T is a unitary operator in the quantum circuit, which changes
  • ⁇ j >. It is different from T of dimension 4N 2 ⁇ 2N: ⁇ j ⁇ N
  • T qc the quantum circuit with T qc :
  • the existing quantum circuit construction can only use the existing single quantum logic gate, double quantum logic gate, etc., which usually have the following problems:
  • the parameters input by the user to Oracle may include: Oracle name (used to identify the functional use of Oracle, such as O b′ ), qubits, matrix elements, and so on.
  • the advantage of this method is that the Oracle is used as a known module as a whole, and there is no need to pay attention to its internal implementation details. It is very simple and clear in the representation of quantum application scenarios such as quantum circuits. Since the classically simulated Oracle function modules can be equivalent to quantum logic gates, the constructed quantum circuit can be simplified, thus saving the memory space required for runtime and speeding up the simulation verification of quantum algorithms.
  • FIG. 8 is a schematic diagram of a quantum circuit for implementing a third Oracle function according to an embodiment of the present disclosure.
  • V and T represent Oracles with different functions, represents the transposed conjugate, T represents the overall functional module T of the combination of H gate and Oracle, and the function of the T module is to transform
  • the obtained matrix inputting the T module is an N-order matrix
  • the constructed T module can be equivalent to a quantum logic gate in a quantum circuit, and its matrix form is: ⁇ j ⁇ [N]
  • the quantum circuit shown in FIG. 8 can perform the quantum state evolution from
  • a quantum oracle is a black box representing a transition of some quantum state.
  • a typical example of a quantum oracle is a linear system: O
  • 0>
  • QRAM can be regarded as a kind of Oracle.
  • Many quantum algorithms use Oracle, and many quantum algorithms use Oracle, but they don't care about the implementation of Oracle, it can be decomposed into quantum gates, or QRAM can be implemented. In QPanda, this can be defined using the "Oracle" function. Oracle is considered to have a user-supplied name.
  • the quantum state of quantum circuits can use the superposition properties of quantum to accelerate the solution of linear systems with large condition numbers and expand the simulation application scenarios of quantum computing.
  • the present disclosure provides a quantum preprocessing method for a linear system.
  • the element information of the first matrix A and the first vector b in the linear system is obtained, and according to the main diagonal elements of the first matrix A, the The new matrix M used for the preprocessing of the linear system, and then according to the inverse matrix of the new matrix M, the second matrix A' and the second vector b' are calculated, and finally the second matrix A' is constructed to represent the quantum state evolution of a specific class of elements of the second matrix A'.
  • a quantum circuit a second quantum circuit representing the quantum state evolution of the second vector b' of a specific class of elements, performing quantum state evolution operations for the first quantum circuit and the second quantum circuit respectively, to obtain the first quantum circuit after evolution
  • the quantum circuit and the quantum state of the second quantum circuit can be seen that by using the superposition property of quantum, by encoding the relevant information of the linear system into the quantum state, the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, and a quantum prediction that can satisfy different linear systems is realized. Processing technology, used for the simulation of quantum computing, reducing the condition number of linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the present disclosure also provides a quantum preprocessing method based on a sparse linear system.
  • a quantum preprocessing method based on a sparse linear system.
  • Each specific type of element information and then construct a first quantum circuit representing the quantum state evolution of the second matrix A' specific type element, and a second quantum circuit representing the quantum state evolution of the second vector b' specific type element, for the first quantum circuit
  • the circuit and the second quantum circuit respectively perform the evolution operation of the quantum state to obtain the quantum state of the first quantum circuit and the second quantum circuit after evolution.
  • the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum state that can satisfy the sparse linear system.
  • the preprocessing technology is used for the simulation of quantum computing, reducing the condition number of sparse linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the present disclosure provides a sparse approximate inverse quantum preprocessing method for a sparse linear system.
  • the information of the first matrix A and the first vector b in the sparse linear system are obtained respectively.
  • the sparse approximation matrix M is a sparse approximation of A -1 and satisfies the preset sparse structure J, respectively construct the second matrix A', the second vector representing the sparse linear system b'
  • a sparse approximate inverse quantum preprocessing method of sparse linear system is realized, which is used for the simulation of quantum computing,
  • FIG. 9 is a schematic structural diagram of a quantum preprocessing device for a linear system according to an embodiment of the present disclosure.
  • the quantum preprocessing device may include an acquisition module 601 , a construction module 602 , a calculation module 603 and an execution module 604 .
  • quantum preprocessing means may be used to perform the processing in the method shown in FIG. 2 .
  • the acquisition module 601 acquires the linear system Element information of the first matrix A and the first vector b in .
  • Construction module 602 constructs a new matrix M for linear system preprocessing.
  • the calculation module 603 calculates the second matrix A' and the second vector b' for constructing the quantum circuit according to the new matrix M.
  • the execution module 604 constructs a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A′, and a second quantum circuit representing the quantum state evolution of the second vector b′ specific class element, for the first quantum circuit.
  • a quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • quantum preprocessing means may also be used to perform the processing in the method shown in FIG. 3 .
  • Obtaining module 601 is used to obtain the element information of the first matrix A and the first vector b in the linear system;
  • a building module 602 configured to build a new matrix M for linear system preprocessing according to the main diagonal elements of the first matrix A;
  • Execution module 604 configured to construct a first quantum circuit representing the quantum state evolution of the second matrix A' specific class element, and a second quantum circuit representing the quantum state evolution of the second vector b' specific class element, for The first quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • the specific class elements are: non-zero elements.
  • the execution module includes the first Oracle module and the second Oracle module:
  • the first Oracle module is used to extract the position information of the non-zero elements in the second matrix A', so as to encode the column sequence number of the j-th row and the l-th non-zero element in the second matrix A' to the On the qubits of the first quantum circuit,
  • the second Oracle module is configured to extract element information of non-zero elements in the second matrix A', so as to encode the element information of the jth row and kth column in the second matrix A' to the first quantum on the qubits of the line.
  • the first Oracle module is module
  • the second Oracle module is module, which implements:
  • the f(j,l) is the column number of the lth non-zero element in the jth row in the second matrix A'
  • the A'jk is the jth row in the second matrix A' Nonzero elements of k columns.
  • the second Oracle module is implemented in the following manner:
  • the A jk is a non-zero element in the j-th row and the k-th column in the first matrix A
  • the A jj is a non-zero element on the main diagonal in the first matrix A.
  • the execution module also includes a third Oracle module:
  • the third Oracle module is used to extract the element information of the second vector b', so as to encode the element information of the second vector b' on the qubits of the second quantum circuit, wherein after encoding
  • the amplitudes of the quantum states on the qubits of the second quantum circuit are in a one-to-one correspondence with the elements of the second vector b' after normalization.
  • the third Oracle module is an O b' module, which is used to realize:
  • the c' is the normalization constant of the second vector b'
  • the s is the number of elements of the second vector b'.
  • the present disclosure provides a quantum preprocessing method for a linear system.
  • the element information of the first matrix A and the first vector b in the linear system is obtained, and according to the main diagonal elements of the first matrix A, the The new matrix M used for the preprocessing of the linear system, and then according to the inverse matrix of the new matrix M, the second matrix A' and the second vector b' are calculated, and finally the second matrix A' is constructed to represent the quantum state evolution of a specific class of elements of the second matrix A'.
  • a quantum circuit a second quantum circuit representing the quantum state evolution of the second vector b' of a specific class of elements, performing quantum state evolution operations for the first quantum circuit and the second quantum circuit respectively, to obtain the first quantum circuit after evolution
  • the quantum circuit and the quantum state of the second quantum circuit can be seen that by using the superposition property of quantum, by encoding the relevant information of the linear system into the quantum state, the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, and a quantum prediction that can satisfy different linear systems is realized. Processing technology, used for the simulation of quantum computing, reducing the condition number of linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • quantum preprocessing means can also be used to perform the processing in the method shown in FIG. 4 .
  • the obtaining module 601 is configured to obtain the element information of each specific type of the second matrix A' and the second vector b' preprocessed by the Neumann polynomial of the sparse linear system;
  • a building module 602 configured to construct a first quantum circuit representing the quantum state evolution of the second matrix A' specific class element, and a second quantum circuit representing the quantum state evolution of the second vector b' specific class element, for The first quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • the specific class elements are: non-zero elements.
  • the device further includes:
  • an information acquisition module used for acquiring the element information of the first matrix A and the first vector b in the sparse linear system
  • a matrix building module for constructing a new matrix D for sparse linear system preprocessing according to the main diagonal elements of the first matrix A;
  • a calculation module for calculating a second matrix A' and a second vector b' by using the Neumann polynomial and the inverse matrix of the new matrix D, wherein the second matrix
  • the building blocks include a first Oracle and a second Oracle:
  • the first Oracle is used to extract the position information of the non-zero elements in the second matrix A', so as to encode the column sequence number of the l-th non-zero element in the j-th row of the second matrix A' into the second matrix A'.
  • the second Oracle is used to extract the element information of the non-zero elements in the second matrix A', so as to encode the element information of the jth row and the kth column in the second matrix A' to the first quantum circuit on the qubit bits.
  • the first Oracle module is module
  • the second Oracle module is module, which implements:
  • the f'(j,l) is the column number of the lth non-zero element in the jth row of the second matrix A'
  • the A'jk is the jth row of the second matrix A' The nonzero element of the kth column.
  • the building module includes a third Oracle module:
  • the third Oracle module is used to extract the element information of the second vector b', so as to encode the element information of the second vector b' on the qubits of the second quantum circuit, wherein after encoding
  • the amplitudes of the quantum states on the qubits of the second quantum circuit are in a one-to-one correspondence with the elements of the second vector b' after normalization.
  • the third Oracle module is an O b' module, which is used to realize:
  • the c' is the normalization constant of the second vector b'
  • the t is the number of elements of the second vector b'.
  • the present disclosure provides a quantum preprocessing method based on a sparse linear system.
  • each specific class of the second matrix A' and the second vector b' preprocessed by the Neumann polynomial of the sparse linear system is obtained.
  • element information and then construct a first quantum circuit representing the quantum state evolution of the second matrix A' of a specific class element, and a second quantum circuit representing the quantum state evolution of the second vector b' specific class element, for the first quantum circuit and the first quantum circuit.
  • the evolution operations of quantum states are performed respectively, and the quantum states of the first quantum circuit and the second quantum circuit after evolution are obtained.
  • the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum state that can satisfy the sparse linear system.
  • the preprocessing technology is used for the simulation of quantum computing, reducing the condition number of sparse linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the quantum preprocessing means may be a sparse approximate inverse quantum preprocessing means for sparse linear systems, and may also be used to perform the processing in the method shown in FIG. 5 .
  • Obtaining module 501 for respectively obtaining the information of the first matrix A and the first vector b in the sparse linear system
  • a construction module 502 configured to construct a sparse approximation matrix M for sparse linear system preprocessing according to the first matrix A, wherein the sparse approximation matrix M is a sparse approximation of A ⁇ 1 and satisfies a preset sparse structure J ;
  • the specific class elements are: non-zero elements.
  • the execution module includes:
  • the execution module includes:
  • the second extraction module is configured to construct OracleO b' for extracting the element information of the second vector b', so as to encode the element information of the second vector b' on the qubits of the quantum circuit, wherein , the encoded amplitudes of the quantum states on the qubits of the quantum circuit correspond one-to-one with the elements of the second vector b' after normalization.
  • the second extraction module including the OracleO b' module, is used to realize:
  • the c' is the normalization constant of the second vector b'
  • the s is the number of elements of the second vector b'.
  • the building modules include:
  • the third building unit includes:
  • the U k specifically realizes the evolution of the following quantum states:
  • the present disclosure provides a sparse approximate inverse quantum preprocessing method for a sparse linear system.
  • the information of the first matrix A and the first vector b in the sparse linear system are obtained respectively, and according to the first matrix A, the The sparse approximation matrix M used for the preprocessing of the sparse linear system, the sparse approximation matrix M is the sparse approximation of A -1 and satisfies the preset sparse structure J, and the second matrix A' and the second vector b' representing the sparse linear system are constructed respectively.
  • a sparse approximate inverse quantum preprocessing method of sparse linear system is realized, which is used for the simulation of quantum computing, reduces the condition number of sparse linear system, and fills the gap of related technologies.
  • An embodiment of the present disclosure further provides a storage medium, where a computer program is stored in the storage medium, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
  • the above-mentioned storage medium may be configured to store a computer program for executing the following steps:
  • S204 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • an embodiment of the present disclosure further provides a storage medium, where a computer program is stored in the storage medium, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
  • the above-mentioned storage medium may also be configured to store a computer program for executing the following steps:
  • S212 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • the above-mentioned storage medium may be configured to store a computer program for performing the following steps:
  • the above-mentioned storage medium may include, but is not limited to: a USB flash drive, a read-only memory (Read-Only Memory, referred to as ROM), a random access memory (Random Access Memory, referred to as RAM), mobile Various media that can store computer programs, such as hard disks, magnetic disks, or optical disks.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • the present disclosure provides a quantum preprocessing method for a linear system.
  • the element information of the first matrix A and the first vector b in the linear system is obtained, and according to the main diagonal elements of the first matrix A, the The new matrix M used for the preprocessing of the linear system, and then according to the inverse matrix of the new matrix M, the second matrix A' and the second vector b' are calculated, and finally the second matrix A' is constructed to represent the quantum state evolution of a specific class of elements of the second matrix A'.
  • a quantum circuit a second quantum circuit representing the quantum state evolution of the second vector b' of a specific class of elements, performing quantum state evolution operations for the first quantum circuit and the second quantum circuit respectively, to obtain the first quantum circuit after evolution
  • the quantum circuit and the quantum state of the second quantum circuit can be seen that by using the superposition property of quantum, by encoding the relevant information of the linear system into the quantum state, the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum prediction that can satisfy different linear systems. Processing technology, used for the simulation of quantum computing, reducing the condition number of linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the present disclosure provides a quantum preprocessing method based on a sparse linear system.
  • each of the second matrix A' and the second vector b' preprocessed by the Neumann polynomial of the sparse linear system is obtained.
  • specific class element information and then construct a first quantum circuit representing the quantum state evolution of the second matrix A' specific class element, and a second quantum circuit representing the quantum state evolution of the second vector b' specific class element, for the first quantum circuit and the second quantum circuit, respectively perform the evolution operation of the quantum state, and obtain the quantum state of the evolved first quantum circuit and the second quantum circuit.
  • the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum state that can satisfy the sparse linear system.
  • the preprocessing technology is used for the simulation of quantum computing, reducing the condition number of sparse linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the present disclosure provides a sparse approximate inverse quantum preprocessing method for a sparse linear system.
  • the information of the first matrix A and the first vector b in the sparse linear system are obtained respectively.
  • the sparse approximation matrix M is a sparse approximation of A -1 and satisfies the preset sparse structure J, respectively construct the second matrix A', the second vector representing the sparse linear system b'
  • a sparse approximate inverse quantum preprocessing method of sparse linear system is realized, which is used for the simulation of quantum computing,
  • An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any one of the above method embodiments. A step of.
  • the above-mentioned electronic device may further include a transmission device and an input-output device, wherein the transmission device is connected to the above-mentioned processor, and the input-output device is connected to the above-mentioned processor.
  • the above-mentioned processor may be configured to execute the following steps through a computer program:
  • S204 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • the present disclosure provides a quantum preprocessing method for a linear system.
  • the element information of the first matrix A and the first vector b in the linear system is obtained, and according to the main diagonal elements of the first matrix A, the The new matrix M used for the preprocessing of the linear system, and then according to the inverse matrix of the new matrix M, the second matrix A' and the second vector b' are calculated, and finally the second matrix A' is constructed to represent the quantum state evolution of a specific class of elements of the second matrix A'.
  • a quantum circuit a second quantum circuit representing the quantum state evolution of the second vector b' of a specific class of elements, performing quantum state evolution operations for the first quantum circuit and the second quantum circuit respectively, to obtain the first quantum circuit after evolution
  • the quantum circuit and the quantum state of the second quantum circuit can be seen that by using the superposition property of quantum, by encoding the relevant information of the linear system into the quantum state, the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum prediction that can satisfy different linear systems. Processing technology, used for the simulation of quantum computing, reducing the condition number of linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the above-mentioned processor may be configured to execute the following steps through a computer program:
  • S202 Construct a first quantum circuit representing the quantum state evolution of a specific class element of the second matrix A', and a second quantum circuit representing the quantum state evolution of a specific class element of the second vector b', for the first quantum circuit
  • the quantum circuit and the second quantum circuit respectively perform quantum state evolution operations to obtain the evolved quantum states of the first quantum circuit and the second quantum circuit.
  • the present disclosure provides a quantum preprocessing method based on a sparse linear system.
  • each specific class of the second matrix A' and the second vector b' preprocessed by the Neumann polynomial of the sparse linear system is obtained.
  • element information and then construct a first quantum circuit representing the quantum state evolution of the second matrix A' of a specific class element, and a second quantum circuit representing the quantum state evolution of the second vector b' specific class element, for the first quantum circuit and the first quantum circuit.
  • the evolution operations of quantum states are performed respectively, and the quantum states of the first quantum circuit and the second quantum circuit after evolution are obtained.
  • the classical data structure is connected with the state of the qubit in the quantum field, that is, the quantum state, so as to realize a quantum state that can satisfy the sparse linear system.
  • the preprocessing technology is used for the simulation of quantum computing, reducing the condition number of sparse linear systems, and filling the relevant technical gaps in the field of quantum computing.
  • the above-mentioned processor may also be configured to perform the following steps through a computer program:
  • the present disclosure provides a sparse approximate inverse quantum preprocessing method for a sparse linear system.
  • the information of the first matrix A and the first vector b in the sparse linear system are obtained respectively, and according to the first matrix A, the The sparse approximation matrix M used for the preprocessing of the sparse linear system, the sparse approximation matrix M is the sparse approximation of A -1 and satisfies the preset sparse structure J, and the second matrix A' and the second vector b' representing the sparse linear system are constructed respectively.
  • a sparse approximate inverse quantum preprocessing method of sparse linear system is realized, which is used for the simulation of quantum computing, reduces the condition number of sparse linear system, and fills the gap of related technologies.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

公开了一种量子预处理方法、装置、存储介质及电子装置。该量子预处理方法包括:获取线性系统 (I)中第一矩阵A、第一向量b的元素信息;构建用于线性系统预处理的新矩阵M;根据所述新矩阵M,计算用于构建量子线路的算第二矩阵A'及第二向量b';构建表示所述第二矩阵A'特定类元素的量子态演化的第一量子线路、表示所述第二向量b'特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。

Description

量子预处理方法、装置、存储介质及电子装置
本公开要求于2020年12月31日提交的、申请号为CN202011637102.6、申请名称为“一种针对线性系统的量子预处理方法及装置”的中国专利申请;于2020年12月31日提交的、申请号为CN202011633352.2、申请名称为“一种基于稀疏线性系统的量子预处理方法及装置”的中国专利申请;于2021年01月29日提交的、申请号为CN202110122930.4、申请名称为“一种稀疏线性系统的稀疏近似逆量子预处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开属于量子计算技术领域,特别是一种针对线性系统的量子预处理方法、装置、存储介质及电子装置。
背景技术
大型线性方程组的求解是许多科学和工程计算中的重要问题。当前计算机技术发展飞速,大型科学计算已经进入大规模并行计算时代,基于并行计算环境研究大型线性系统的高效并行算法显得尤为重要。
量子计算是一种新型计算方式,原理是用量子力学理论构建了一种计算框架。在求解一些问题时,比起最优的经典算法,量子计算有指数加速的效果。线性系统求解就是一类可以利用量子计算来解决的问题,量子计算利用量子的叠加性,在量子线性求解器求解线性系统时有指数加速的效果,所以量子线性求解器有希望加速科学与工程领域的很多实际问题的求解过程。
但是,量子线性求解器的复杂度与线性系统的条件数κ的多项式相关,复杂度表示为
Figure PCTCN2021142565-appb-000001
所以当线性系统条件数太大时,量子线性求解器加速性能会受到很大影响,方程不容易求解。量子预处理技术就是为了解决线性系统条件数很大时,量子计算加速性能受影响而发展起来的技术。现有的量子预处理技术太过匮乏,尚未提出有效的通用量子预处理技术,且已有的量子预处理技术无法满足不同的线性系统。
基于此,有必要实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低条件数,填补相关技术空白。
发明内容
本公开的一个目的是提供一种针对线性系统的量子预处理方法及装置,以解决现有 技术中的不足,它能够实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低条件数,填补量子计算领域相关技术空白。
根据本公开的一个方面,提供了一种针对线性系统的量子预处理方法,包括:获取线性系统
Figure PCTCN2021142565-appb-000002
中第一矩阵A、第一向量b的元素信息;构建用于线性系统预处理的新矩阵M;根据所述新矩阵M,计算用于构建量子线路的算第二矩阵A′及第二向量b′;构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
根据本公开的另一个方面,提供了一种针对线性系统的量子预处理装置,包括用于执行这里公开的量子预处理方法中的各个处理的模块。
根据本公开的另一个方面,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
根据本公开的另一个方面,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本公开提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,构建用于线性系统预处理的新矩阵M,再根据新矩阵M,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
附图说明
图1是根据本公开的实施例的一种针对线性系统的量子预处理方法的计算机终端的硬件结构框图;
图2是根据一个实施例的针对线性系统的量子预处理方法的流程示意图;
图3是根据另一个实施例的针对线性系统的量子预处理方法的流程示意图;
图4是根据另一个实施例的基于稀疏线性系统的量子预处理方法的流程示意图的流程示意图;
图5是根据另一个实施例的稀疏线性系统的稀疏近似逆量子预处理方法的流程示意图;
图6是根据另一个实施例的关于T的量子线路示意图;
图7是根据另一个实施例的关于行走算子W的量子线路示意图;
图8是根据另一个实施例的实现第三Oracle功能的量子线路示意图;
图9是根据另一个实施例的针对线性系统的量子预处理装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本公开实施例首先提供了一种针对线性系统的量子预处理方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1为本公开实施例提供的一种针对线性系统的量子预处理方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的实现一种针对线性系统的量子预处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序 就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本公开实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本公开所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,哈德玛门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
本领域技术人员可以理解的是,在经典计算机中,信息的基本单元是比特,一个比特有0和1两种状态,最常见的物理实现方式是通过电平的高低来表示这两种状态。在量子计算中,信息的基本单元是量子比特,一个量子比特也有0和1两种状态,记为|0>和|1>,但它可以处于0和1两种状态的叠加态,可表示为
Figure PCTCN2021142565-appb-000003
其中,a、b为表示|0>态、|1>态振幅(概率幅)的复数,这是经典比特不具备的。测量后,量子比特的状态会塌缩至一个确定的状态(本征态,此处为|0>态、|1>态),其中,塌缩至|0>的概率是|a| 2,塌缩至|1>的概率是|b| 2,|a| 2+|b| 2=1,|>为狄拉克符号。
量子态,即指量子比特的状态,其本征态在量子算法(或称量子程序)中用二进制 表示。例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,该组量子比特的量子态为23个本征态的叠加态,8个本征态(确定的状态)是指:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个本征态与量子比特位对应一致,如|000>态,000从高位到低位对应q2q1q0。简言之,量子态是各本征态组成的叠加态,当其他态的概率幅为0时,即处于其中一个确定的本征态。
图2是根据一个实施例的针对线性系统的量子预处理方法的流程示意图。如图2所示,针对线性系统的量子预处理方法包括如下步骤。
S21:获取线性系统
Figure PCTCN2021142565-appb-000004
中第一矩阵A、第一向量b的元素信息。
S22:构建用于线性系统预处理的新矩阵M。
S23:根据所述新矩阵M,计算用于构建量子线路的第二矩阵A′及第二向量b′。
S24:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
下面参照图3-8,对针对线性系统的量子预处理方法进行进一步的说明。
参见图3,图3为本公开实施例提供的一种针对线性系统的量子预处理方法的流程示意图,可以包括如下步骤:
S201:获取线性系统中第一矩阵A、第一向量b的元素信息。
具体的,线性系统是一种数学模型,是指用线性算子组成的系统,且同时满足叠加性与均匀性(又称为齐次性)的系统,目前,线性系统是很多科学和工程领域的核心。
示例性的,获取线性系统
Figure PCTCN2021142565-appb-000005
中第一矩阵A、第一向量b的元素信息,具体包括分别获取第一矩阵A、第一向量b的元素信息及维数。具体的,对于一个N*N的第一矩阵A和一个N维第一向量b,输出n维向量x,满足
Figure PCTCN2021142565-appb-000006
Figure PCTCN2021142565-appb-000007
由此,第一矩阵A需要满足为可逆矩阵,且由于下述需要将第一向量b的数据加载到量子线路的缘故,第一向量b的维数N需要能表示为2的正整数次幂。若N不符合2的正整数次幂的形式,则在第一向量b的元素中补零直至满足符合2的正整数次幂的形式。同样的,第一矩阵A的维数信息也需符合2的正整数次幂的形式,若需进行补零操作的原理和方法与上述在第一向量b的元素中补零的方法相同,在此不再赘述。
示例性的,对于一个3*3的第一矩阵
Figure PCTCN2021142565-appb-000008
一个3维第一向量b=[1,2,3],获取第一矩阵A、第一向量b的元素信息,由于第一矩阵A、第一向量b的维数不满足2的正整数次幂的形式,因此需要进行补零操作,即将第一矩阵A扩充为一个4*4的矩阵:
Figure PCTCN2021142565-appb-000009
Figure PCTCN2021142565-appb-000010
第一向量b扩充为一个4维向量:b=[1,2,3,0]。
S202:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M。
具体的,在一个N阶矩阵中,从左上角到右下角这一斜线上的N个元素的位置,叫做N阶矩阵的主对角线元素。
示例性的,根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M。接上述示例,第一矩阵
Figure PCTCN2021142565-appb-000011
因此,构建用于线性系统预处理的新矩阵
Figure PCTCN2021142565-appb-000012
S203:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M -1A,所述第二向量b′=M -1b。
具体的,第一矩阵A是一个N阶矩阵,若存在另一个N阶矩阵D,使得:AD=DA=I,则称第一矩阵A可逆,并称矩阵D是第一矩阵A的逆矩阵。
示例性的,根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′。接上述示例,新矩阵
Figure PCTCN2021142565-appb-000013
新矩阵M的逆矩阵
Figure PCTCN2021142565-appb-000014
由此,可根据第二矩阵A′=M -1A,所述第二向量b′=M -1b的运算关系,计算出第二矩阵
Figure PCTCN2021142565-appb-000015
和第二向量b′。
S204:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
参见图4,图4为本公开实施例提供的一种基于稀疏线性系统的量子预处理方法的流程示意图,可以包括如下步骤:
S211:获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息。
线性系统是一种数学模型,是指用线性算子组成的系统,且同时满足叠加性与均匀性(又称为齐次性)的系统,目前,线性系统是很多科学和工程领域的核心。稀疏线性系统,是对线性系统对应的线性矩阵进行恒等变换,使之尽量多的出现0元素。这样做的目的是简化系统设计和计算,其应用领域十分广泛,譬如复杂的流体动力学问题,结构分析, 电磁场计算等等。
诺依曼多项式(或称诺依曼Neumann级数)是指若lim s→∞N s=0,则I-N为可逆矩阵,并且满足
Figure PCTCN2021142565-appb-000016
具体的,在获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息之前,所述方法还包括:
S2111:获取稀疏线性系统中第一矩阵A、第一向量b的元素信息。
示例性的,获取稀疏线性系统
Figure PCTCN2021142565-appb-000017
中第一矩阵A、第一向量b的元素信息,具体包括分别获取第一矩阵A、第一向量b的元素信息及维数。具体的,对于一个P*P的第一矩阵A和一个P维第一向量b,输出p维向量x,满足
Figure PCTCN2021142565-appb-000018
Figure PCTCN2021142565-appb-000019
由此,第一矩阵A需要满足为可逆矩阵,且由于下述需要将第一向量b的数据加载到量子线路的缘故,第一向量b的维数P需要能表示为2的正整数次幂。若P不符合2的正整数次幂的形式,则在第一向量b的元素中补零直至满足符合2的正整数次幂的形式。同样的,第一矩阵A的维数信息也需符合2的正整数次幂的形式,若需进行补零操作的原理和方法与上述在第一向量b的元素中补零的方法相同,在此不再赘述。
示例性的,对于一个3*3的第一矩阵
Figure PCTCN2021142565-appb-000020
一个3维第一向量b=[1,2,3],获取第一矩阵A、第一向量b的元素信息,由于第一矩阵A、第一向量b的维数不满足2的正整数次幂的形式,因此需要进行补零操作,即将第一矩阵A扩充为一个4*4的矩阵:
Figure PCTCN2021142565-appb-000021
第一向量b扩充为一个4维向量:b=[1,2,3,0]。
在量子应用中,通过构造一种Oracle或Oracle组合,该Oracle或组合的内部原理即为本公开的方法流程。具体的,Oracle可以理解为在量子算法中完成特定功能的模块(类似黑盒),在具体问题中会有具体的实现方式。
示例性的,针对稀疏线性系统
Figure PCTCN2021142565-appb-000022
中第一矩阵A、第一向量b,给定第一矩阵A、第一向量b的数据读取Oracle:
Figure PCTCN2021142565-appb-000023
其功能如下:
Figure PCTCN2021142565-appb-000024
f(j,l)表示第一矩阵A第j行第l个非零元的列序号;
Figure PCTCN2021142565-appb-000025
A jk表示第一矩阵A第j行第k列非零元的列序号;
O b|0>=|b>,其中
Figure PCTCN2021142565-appb-000026
c是第一向量b的归一化常数。
S2112:根据所述第一矩阵A的主对角线元素,构建用于稀疏线性系统预处理的新矩阵D。
具体的,在一个P阶矩阵中,从左上角到右下角这一斜线上的P个元素的位置,叫做 P阶矩阵的主对角线元素。
示例性的,根据所述第一矩阵A的主对角线元素,构建用于稀疏线性系统预处理的新矩阵D。接上述示例,第一矩阵
Figure PCTCN2021142565-appb-000027
因此,构建用于稀疏线性系统预处理的新矩阵
Figure PCTCN2021142565-appb-000028
S2013:利用所述诺依曼多项式和新矩阵D的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵
Figure PCTCN2021142565-appb-000029
所述第二向量b′=M -1b=[I+N+…+N s]D -1b,M -1≡[I+N+…+N s]D -1,ω为尺度化参数,s为大于0的整数,N为可逆矩阵并且满足N=I-ωD -1A。
具体的,第一矩阵A是一个P阶矩阵,若存在另一个P阶矩阵Q,使得:AQ=QA=I,则称第一矩阵A可逆,并称矩阵Q是第一矩阵A的逆矩阵。
示例性的,根据所述新矩阵D的逆矩阵,计算第二矩阵A′及第二向量b′。接上述示例,新矩阵
Figure PCTCN2021142565-appb-000030
其中,所述第二矩阵
Figure PCTCN2021142565-appb-000031
所述第二向量b′=M -1b=[I+M+…+N s]D -1b,M -1≡[I+N+…+N s]D -1,ω为尺度化参数,例如可以取ω=0.01,s为大于0的整数,N为可逆矩阵并且满足N=I-ωD -1A。
可选的,在一种实施方式中,N 1=I-ωA,ω是一个尺度化参数。有
ωA=I-(I-ωA)=I-N 1
则(ωA) -1=[I-(I-ωA)] -1=I+N 1+N 1 2+…+N 1 s
在另一种实现方式中,ωA也可表示为ωA=D-(D-ωA),
其中,D是第一矩阵A的对角元素表示的矩阵。
(ωA) -1=[D(I-(I-ωD -1A))] -1=[I-(I-ωD -1A)] -1D -1
设N 2=I-ωD -1A,则
(ωA) -1≈M -1≡[I+N 2+N 2 2+…+N 2 s]D -1
由于D -1A=ω -1[I-N 2],则
M -1A=[I+N 2+N 2 2+…+N 2 s]D -1A
最后得到:
Figure PCTCN2021142565-appb-000032
b′=M -1b=[I+N 2+N 2 2+…+N 2 s]D -1b
S212:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
具体的,第二矩阵A′特定类元素可以为非0元素,构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,其中,第一量子线路包括第一Oracle和第二Oracle:
所述第一Oracle用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,所述第一Oracle为
Figure PCTCN2021142565-appb-000033
用于实现:
Figure PCTCN2021142565-appb-000034
其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,将第二矩阵A′中对应的目标行非0元素在该行所有非0中元素的序号,编码到一组量子比特位中,用以实现量子态的转换:|j,l>→|j,f(j,l)>;其中,转换后的量子态包含第二矩阵A′中的列序号信息。
在一种实现方式中,经过第一Oracle的量子态的形式可以如下:
Figure PCTCN2021142565-appb-000035
简写为:
Figure PCTCN2021142565-appb-000036
其中,j为目标取值,表示矩阵的第j行;
Figure PCTCN2021142565-appb-000037
表示张量积或张乘;d为第j行的非0元素总数;l为非0元素在第j行所有非0中元素的序号,表示第l个非0元素,|k>对应的量子比特位可定义为第一比特位。
根据第二矩阵A′中的矩阵信息及列下标信息,确定非0元素的元素数值,并将元素数值编码到一组量子比特位中,即将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
具体的,所述第二Oracle用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。所述第二Oracle为
Figure PCTCN2021142565-appb-000038
用于实现:
Figure PCTCN2021142565-appb-000039
其中,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素。
在一种实现方式中,所述第二Oracle由以下方式实现:
|j,k,0>|0>→|j,k,A jk>|A jj>→|j,k,A jk/A jj>|A jj>→|j,k,A jk/A jj>|0>
其中,所述A jk为所述第一矩阵A中第j行第k列的非零元素,所述A jj为所述第一矩阵A中的主对角线上的非零元素。
在一种可选的实施方式中,首先,可以获取初始态为0态的两组量子比特,将所述第一矩阵A中第j行和第k列用二进制表示,分别编码到第一矩阵A的行数和列数对应的一组量子比特位上,获得二进制表示的量子态|j,k,0>,此处0态对应的量子比特位用于后续编码二进制元素值。
然后,将当前第一矩阵A中第j行第k列的非零元素信息编码到|j,k,0>中0态对应的量 子比特位上、将第一矩阵A中的主对角线上的非零元素编码到另一组量子比特位上,以获得二进制表示的量子态|j,k,A jk>|A jj>,依照相同的方法及原理,继续进行量子态的演化操作,将|j,k,A jk>态中的A jk与|A jj>态中的A jj作除法运算,得到|j,k,A jk/A jj>|A jj>,最终恢复|A jj>态为|0>,得到演化后的量子比特位的量子态为|j,k,A jk/A jj>|0>。其中,A jk/A jj即为所述第二矩阵A′第j行第k列的非零元素A′ jk
示例性的,接上述示例,第一矩阵
Figure PCTCN2021142565-appb-000040
新矩阵
Figure PCTCN2021142565-appb-000041
第二矩阵
Figure PCTCN2021142565-appb-000042
其中,A 32=2,A 33=2,
Figure PCTCN2021142565-appb-000043
在另一种可选的实施方式中,首先,可以获取初始态为0态的一组量子比特,将所述第二矩阵A′中第j行和第k列用二进制表示,分别编码到第二矩阵A′的行数和列数对应的一组量子比特位上,获得二进制表示的量子态|j,k,0>,此处0态对应的量子比特位用于后续编码二进制元素值。然后,将当前第二矩阵A′中第j行第k列的非零元素信息编码到|j,k,0>中0态对应的量子比特位上,以获得二进制表示的量子态|j,k,A′ jk>。
在另一种实现方式中,经过第二Oracle的量子态的形式可以如下:
Figure PCTCN2021142565-appb-000044
其中,A′ jk为矩阵第j行第k列的非0元素数值,为了区分量子比特位,可定义|A′ jk>对应的量子比特位为第二比特位。
需要说明的是,如果A′ jk为复数,可以将实部和虚部编码到第二比特位上,即|A′ jk>=|real>|imag>,real表示实部,image表示虚部;如果A′ jk写成欧拉形式re ,则可将r和θ的信息编码到第二比特位,即|A′ jk>=|r>|θ>。
将经过第二Oracle的量子态
Figure PCTCN2021142565-appb-000045
进行预设变换,变换后的末态,其形式|Ψ j>由用户预设设定,也就是用户想要获得的特定量子态,用于量子随机行走技术领域,以解决哈密顿量的模拟及求解线性方程组等问题。该量子态|Ψ j>的预设形式可以为:
Figure PCTCN2021142565-appb-000046
其中,
Figure PCTCN2021142565-appb-000047
为第二矩阵A′第j行第k列的非0元素数值的共轭,A′ max为第二矩阵A′中绝对值最大的元素数值。
需要说明的是,编码到量子比特位的量子态上,具体是指编码到量子态右矢上,如上述|Ψ j>的形式,采用竖线与尖括号的组合描述一个量子态,表示量子态是一个矢量(称为态矢、基矢等等),|Ψ j>表示右矢,<Ψ j|表示左矢。
另外需要说明的是,已知第一矩阵
Figure PCTCN2021142565-appb-000048
N=I-ωD -1A
根据
Figure PCTCN2021142565-appb-000049
Figure PCTCN2021142565-appb-000050
可以构建:
Figure PCTCN2021142565-appb-000051
Figure PCTCN2021142565-appb-000052
当j≠f N(j,l)时,
Figure PCTCN2021142565-appb-000053
Figure PCTCN2021142565-appb-000054
的构建过程如下:
Figure PCTCN2021142565-appb-000055
其中,所述A jk为所述第二矩阵A中第j行第k列的非零元素,所述A jj为所述第二矩阵A中的主对角线上的非零元素。
在一种可选的实施方式中,首先,可以获取初始态为0态的三组量子比特,将所述第二矩阵A中第j行和第k列和-ω分别用二进制表示,编码到第二矩阵A的行数和列数对应的一组量子比特位上和一组状态为|-ω>的量子比特上,获得二进制表示的量子态|j,k,0>|0>|-ω>,此处0态对应的量子比特位均用于后续编码二进制元素值。
然后,将当前第二矩阵A中第j行第k列的非零元素信息编码到|j,k,0>中0态对应的量子比特位上、将第二矩阵A中的主对角线上的非零元素编码到另一组0态对应的量子比特位上,以获得二进制表示的量子态|j,k,A jk>|A jj>|-ω>,依照相同的方法及原理,继续进行量子态的演化操作,将|j,k,A jk>态中的A jk与|A jj>态中的A jj作除法运算,得到|j,k,A jk/A jj>|0>|-ω>,继续进行量子态的演化操作,将|j,k,A jk/A jj>中的A jk/A jj与|-ω>态中的-ω作乘法运算,得到|j,k,-ωA jk/A jj>|0>|-ω>,最终恢复|-ω>态为|0>,得到演化后的量子比特位的量子态为|j,k,-ωA jk/A jj>|0>|0>。
当j=f N(j,l)时,
Figure PCTCN2021142565-appb-000056
根据
Figure PCTCN2021142565-appb-000057
以及矩阵的乘法定义与乘法运算来构建N s+1,再根据减法和除法运算来构建出第一矩阵A′。
具体的,首先通过在第一量子线路利用量子乘法构建s+1个N相乘,然后利用量子减法计算I-N s+1,最后通过量子除法求得
Figure PCTCN2021142565-appb-000058
的量子态演化结果,从而构建出第一矩阵A′。需要说明的是,量子四则运算是目前已经是广泛研究和应用的技术,在此不做第一矩阵A′具体运算实现的过程。
具体的,所述第二量子线路包括第三Oracle,第三Oracle为O b′,用于实现:
Figure PCTCN2021142565-appb-000059
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。归一化就是要把需要处理的数据经过处理后限制在预设的数值,例如将m个元素数值归一化处理,使其满足所有元素数值平方和为1。其目的是为了后续数据处理的方便,其次是保证数据编码时效率加快。
第三Oracle用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
示例性的,b′=[b 1,b 2,b 3,b 4],则,将第二向量b′的数据编码到量子态振幅上,得到:
Figure PCTCN2021142565-appb-000060
从而实现:将第二向量b′的数据加载到量子线路中2个量子比特的量子态振幅上,且编码后的第二量子线路的量子比特位上的量子态的振幅与归一化后第二向量b′的元素一一对应。
在量子应用中,通过构造一种Oracle或Oracle组合,该Oracle或组合的内部原理即为本公开的方法流程。具体的,Oracle可以理解为在量子算法中完成特定功能的模块(类似黑盒),在具体问题中会有具体的实现方式。
目前,现有的量子线路构建往往只能够利用现有的单量子逻辑门、双量子逻辑门等等,通常存在以下问题:
对于功能比较复杂的量子线路,需要用到的量子比特数量会非常多,使用经典计算机进行模拟的时候会消耗巨大的内存空间,需要用到的逻辑门数量会非常多,模拟耗时会非常长。并且,一些复杂的算法难以用量子线路进行实现。
基于此,通过改用Oracle模拟的方式实现特定的复杂功能,并实现受控和转置共轭操作。用户传入Oracle的参数,可以包括:Oracle名称(用于识别Oracle的功能用途,如O b′)、量子比特位、矩阵元素等等。
这种方式的好处是,整体上将Oracle作为已知模块,无需关注其内部的实现细节,在量子应用场景例如量子线路的表示上,非常的简单明了。由于可以将经典模拟的Oracle功能模块等效成量子逻辑门,使得构建的量子线路得以简化,因此节省了运行时所需的内存空间,并加快量子算法的模拟验证。
参见图5,图5为本公开实施例提供的一种稀疏线性系统的稀疏近似逆量子预处理方法的流程示意图,可以包括如下步骤:
S221:分别获取稀疏线性系统中第一矩阵A、第一向量b的信息。
线性系统是一种数学模型,是指用线性算子组成的系统,且同时满足叠加性与均匀性(又称为齐次性)的系统,目前,线性系统是很多科学和工程领域的核心。稀疏线性系统,是对线性系统对应的线性矩阵进行恒等变换,使之尽量多的出现0元素。这样做的目的是简化系统设计和计算,其应用领域十分广泛,譬如复杂的流体动力学问题,结构分析,电磁场计算等等。
示例性的,获取稀疏线性系统Ax=b中第一矩阵A、第一向量b的信息,具体包括分别获取第一矩阵A、第一向量b的元素信息及维数。具体的,对于一个P*P的第一矩阵A和 一个P维第一向量b,输出p维向量x,满足Ax=b,即x=A -1b。由此,第一矩阵A需要满足为可逆矩阵,且由于下述需要将第一向量b的数据加载到量子线路的缘故,第一向量b的维数P需要能表示为2的正整数次幂。若P不符合2的正整数次幂的形式,则在第一向量b的元素中补零直至满足符合2的正整数次幂的形式。同样的,第一矩阵A的维数信息也需符合2的正整数次幂的形式,若需进行补零操作的原理和方法与上述在第一向量b的元素中补零的方法相同,在此不再赘述。
示例性的,一个4维第一向量b=[1,2,3,4]。
需要说明的是,在稀疏线性系统复杂的应用场景或领域,例如流体动力学、电磁场计算等问题中,上述第一矩阵的维数都较大,计算较为复杂,因此为了清楚说明本申请的方案,在此仅举上述简单示例加以说明,方便理解。
S222:根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J。
具体的,设
Figure PCTCN2021142565-appb-000061
表示给定的稀疏结构,稀疏近似逆预处理技术旨在显式的构造A -1的稀疏近似,其最基本的前提是给定稀疏第一矩阵A,存在A -1在某种意义下的稀疏近似矩阵M,使得M≈A -1,如何快速捕捉A -1大元素的位置信息确定M稀疏结构是该算法成功的关键。
需要说明的是,F-范数最小化的稀疏近似逆预处理技术通过最小化残量矩阵‖AM-I‖ F来计算A -1的稀疏近似M,其中M满足某确定的稀疏结构(M要么预先给定,要么在算法执行过程中动态确定)。由矩阵F-范数的特点,最小化‖AM-I‖ F可以转化为独立求解n个最小二乘问题,因此有天然的并行特性。但是对于一般的第一矩阵A,往往很难预先确定M的合理有效的稀疏结构,当A -1的大元素较少时,先验的结构可能并不能有效捕捉其位置信息;或者只有当先验结构非常稠密时,以计算和存储为代价才能得到与A -1近似程度较高的M。为了克服上述困难,提出动态的确定M的稀疏结构的策略,该策略往往从一个简单的初始结构(如单位矩阵的结构或者稀疏化的第一矩阵A的结构等)开始,然后根据某种规则逐步扩充或自适应地调整,直到残量矩阵关于某种范数满足给定精度‖AM-I‖ F≤ε,其中,ε代表预设的精度值,或者M的非零元个数达到预先给定的最大值。
具体的,根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,包括:
S2221:构建稀疏结构为J k的n维向量集合和表示第一矩阵A(·,J k)的非零行指标集I k,其中所述J k={i|(i,k)∈J},
Figure PCTCN2021142565-appb-000062
且表示所述预设稀疏结构。
具体的,在预设稀疏结构J中,构建稀疏结构为J k的n维向量集合,考虑M的第k列,令J k代表A(I k,·)的非零列指标集,A(I k,·)表示由I k中指标对应的行构成的子矩阵;第一矩阵A(·,J k)的非零行指标集I k,其中A(·,J k)代表第一矩阵A的由J k中指标对应的列构成的子矩阵,且J k={i|(i,k)∈J}。
S2222:根据所述非零行指标集I k和所述J k,构建第三矩阵A k,其中,所述A k=A(I k,J k)。
示例性的,接上述示例,获取稀疏线性系统中一个4*4的第一矩阵A:
Figure PCTCN2021142565-appb-000063
可知,当k=2时,J k={1,2},根据矩阵A得到:I k={1,2,3},构建第三矩阵A k,设n 1=|I k|为指令集|I k|的元素个数,同样的,n 2=|J k|,A k=A(I k,J k),则最小二乘问题简化为小规模的n 1×n 2的无约束最小二乘问题。
S2223:根据所述第三矩阵A k,计算
Figure PCTCN2021142565-appb-000064
并构建用于稀疏线性系统预处理的稀疏近似矩阵M=(m 1,m 2,...,m k,...,m n),其中,所述
Figure PCTCN2021142565-appb-000065
e k表示单位矩阵,所述m k
Figure PCTCN2021142565-appb-000066
确定。
具体的,稀疏近似矩阵M=(m 1,m 2,...,m k,...,m n),则有:
Figure PCTCN2021142565-appb-000067
即:上述问题可分解为n个独立带约束的最小二乘问题可以进行并行处理,有
Figure PCTCN2021142565-appb-000068
根据A k=A(I k,J k),则最小二乘问题简化为小规模的n 1×n 2的无约束最小二乘问题:
Figure PCTCN2021142565-appb-000069
其中,R为实数集,
Figure PCTCN2021142565-appb-000070
e k表示单位矩阵。
第一矩阵A是非奇异的,第三矩阵A k是列满秩的,因此求解上述最小二乘问题,可根据修正的Gram-Schmidt正交化过程,对第三矩阵A k做紧致的QR分解,即:
A k=QR
其中,R是一个非奇异的n 2×n 2上三角矩阵,Q是一个列正交矩阵,满足Q T=Q -1。令
Figure PCTCN2021142565-appb-000071
则有
Figure PCTCN2021142565-appb-000072
得到
Figure PCTCN2021142565-appb-000073
从而得到A -1的稀疏近似M。
S223:分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态;其中,所述第二矩阵A′=MA,所述第二向量b′=Mb。
在量子应用中,通过构造一种Oracle或Oracle组合,该Oracle或组合的内部原理即为本公开的方法流程。具体的,Oracle可以理解为在量子算法中完成特定功能的模块(类似黑盒),在具体问题中会有具体的实现方式。
示例性的,针对稀疏线性系统Ax=b中第一矩阵A、第一向量b,给定第一矩阵A、第一向量b的数据读取Oracle:
Figure PCTCN2021142565-appb-000074
其功能如下:
Figure PCTCN2021142565-appb-000075
f(j,l)表示第一矩阵A第j行第l个非零元的列序号;
Figure PCTCN2021142565-appb-000076
A jk表示第一矩阵A第j行第k列非零元的列序号;
Figure PCTCN2021142565-appb-000077
g(j,l)表示第一矩阵A第j列第l个非零元的行序号;
O b|0>=|b>,其中
Figure PCTCN2021142565-appb-000078
c是第一向量b的归一化常数。
构建表示稀疏线性系统中第二矩阵A′各特定类元素的量子态演化的量子线路,具体包括:
构建
Figure PCTCN2021142565-appb-000079
Figure PCTCN2021142565-appb-000080
用于提取所述第二矩阵A′中非零元素的元素信息,其中,
Figure PCTCN2021142565-appb-000081
的作用为
Figure PCTCN2021142565-appb-000082
Figure PCTCN2021142565-appb-000083
的作用为
Figure PCTCN2021142565-appb-000084
所述f′(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素且k=f′(j,l)。
具体的,
Figure PCTCN2021142565-appb-000085
用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到量子线路的量子比特位上,用于实现:
Figure PCTCN2021142565-appb-000086
其中,将第二矩阵A′中对应的目标行非0元素在该行所有非0中元素的序号,编码到一组量子比特位中,用以实现量子态的转换:|j,l>→|j,f′(j,l)>;其中,转换后的量子态包含第二矩阵A′中的列序号信息。
在一种实现方式中,经过
Figure PCTCN2021142565-appb-000087
的量子态的形式可以如下:
Figure PCTCN2021142565-appb-000088
简写为:
Figure PCTCN2021142565-appb-000089
其中,j为目标取值,表示矩阵的第j行;
Figure PCTCN2021142565-appb-000090
表示张量积或张乘;d为第j行的非0元素总数;l为非0元素在第j行所有非0中元素的序号,表示第l个非0元素,|k>对应的量子比特位可定义为第一比特位。
根据第二矩阵A′中的矩阵信息及列下标信息,确定非0元素的元素数值,并将元素数值编码到一组量子比特位中,即将所述第二矩阵A′中第j行第k列的元素信息编码到量子线路的量子比特位上。
具体的,所述
Figure PCTCN2021142565-appb-000091
用于提取第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到量子线路的量子比特位上。
所述
Figure PCTCN2021142565-appb-000092
用于实现:
Figure PCTCN2021142565-appb-000093
在一种可选的实施方式中,首先,可以获取初始态为0态的一组量子比特,将所述第二矩阵A′中第j行和第k列用二进制表示,分别编码到第二矩阵A′的行数和列数对应的一组量子比特位上,获得二进制表示的量子态|j,k,0>,此处0态对应的量子比特位用于后续编码二进制元素值。然后,将当前第二矩阵A′中第j行第k列的非零元素信息编码到|j,k,0>中0态对应的量子比特位上,以获得二进制表示的量子态|j,k,A′ jk>。
在另一种实现方式中,经过
Figure PCTCN2021142565-appb-000094
的量子态的形式可以如下:
Figure PCTCN2021142565-appb-000095
其中,A′ jk为矩阵第j行第k列的非0元素数值,为了区分量子比特位,可定义|A′ jk>对应的量子比特位为第二比特位。
需要说明的是,如果A′ jk为复数,可以将实部和虚部编码到第二比特位上,即|A′ jk>=|real>|imag>,real表示实部,imag表示虚部;如果A′ jk写成欧拉形式re ,则可将r和θ的信息编码到第二比特位,即|A′ jk >=|r>|θ>。
将经过
Figure PCTCN2021142565-appb-000096
的量子态
Figure PCTCN2021142565-appb-000097
进行预设变换,变换后的末态,其形式|Ψ j>由用户预设设定,也就是用户想要获得的特定量子态,用于量子随机行走技术领域,以解决哈密顿量的模拟及求解线性方程组等问题。该量子态|Ψ j>的预设形式可以为:
Figure PCTCN2021142565-appb-000098
其中,A′ jk *为第二矩阵A′第j行第k列的非0元素数值的共轭,A′ max为第二矩阵A′中绝对值最大的元素数值
需要说明的是,已知第二矩阵A′=MA,所述
Figure PCTCN2021142565-appb-000099
由构建量子线路的U k算子实现:
Figure PCTCN2021142565-appb-000100
所述U k具体实现以下量子态的演化:
Figure PCTCN2021142565-appb-000101
具体的,
Figure PCTCN2021142565-appb-000102
由于此处n 1,n 2很小,可直接用量子线路表示出经典最小二乘问题求解过程。其最小二乘法的解
Figure PCTCN2021142565-appb-000103
可以表示为
Figure PCTCN2021142565-appb-000104
可直接算出
Figure PCTCN2021142565-appb-000105
的表达式
Figure PCTCN2021142565-appb-000106
Figure PCTCN2021142565-appb-000107
的每一项是A k中某些元素的表达式(由于A k的矩阵规模较小,因此可以给出其数学计算表达式,其最基本的方法是计算
Figure PCTCN2021142565-appb-000108
的伴随矩阵来计算其逆矩阵)。由于每一个A k的维数可能不一样,第一矩阵A是稀疏矩阵,n 1,n 2取最大,规模就一样了,或者可以根据A k的矩阵维数来动态计算,U k实现原理为用读取A k元素的操作构建出表达式,执行过程如下:
Figure PCTCN2021142565-appb-000109
在一种可选的实施方式中,首先,可以获取初始态为0态的四组量子比特,将所述第三矩阵A k中第j行和第k列分别用二进制表示,编码到第三矩阵A k的行数和列数对应的一组量子比特位上,获得二进制表示的量子态|k>|j>|0>|0>,此处0态对应的量子比特位均用于后续编码二进制元素值。
然后,将当前第三矩阵A k中第j行第k列的非零元素信息编码到|k>|j>|0>|0>中0态对应的量子比特位上,以获得二进制表示的量子态|k>|j>|A k>|0>,依照相同的方法及原理,继续进行量子态的演化操作,得到
Figure PCTCN2021142565-appb-000110
最终恢复|A k>态为|0>,得到演化后的量子比特位的量子态为
Figure PCTCN2021142565-appb-000111
需要说明的是,上述方法为量子静态构造稀疏近似逆的方法,而量子动态构造稀疏近似逆的方法与上述方法类似,区别在于量子动态构造稀疏近似逆的方法需要进行迭代,例如第0次迭代时,可以构建出提取M (0)稀疏结构及元素的操作U (0),假设已经迭代了h次,得到了提取M (h)稀疏结构及元素的操作U (h);接下来执行第h+1次迭代,确定新的稀疏结构时,需要多次调用U (h)和上述Oracle,而U (h)是由U (h-1)和上述Oracle得到的,所以U (0)和上述Oracle的调用次数随着迭代次数指数增加。当迭代次数设置为某个常数时,稀疏线性系统的稀疏近似逆量子预处理过程也可以实现。
需要说明的是,在上述过程中,假设构造M (h)的第k列
Figure PCTCN2021142565-appb-000112
选取
Figure PCTCN2021142565-appb-000113
的初始稀疏结构为
Figure PCTCN2021142565-appb-000114
进行h次填充后
Figure PCTCN2021142565-appb-000115
的稀疏结构为
Figure PCTCN2021142565-appb-000116
定义
Figure PCTCN2021142565-appb-000117
Figure PCTCN2021142565-appb-000118
对应的非零行指标集。令
Figure PCTCN2021142565-appb-000119
假设
Figure PCTCN2021142565-appb-000120
是最小二乘问题的解,对应的残差为
Figure PCTCN2021142565-appb-000121
而r k的范数与
Figure PCTCN2021142565-appb-000122
的范数完全相等。
如果‖r k2>ε,定义L k={i|r k(i)≠0},令N k是A(L k·)对应的非零列指标集。令
Figure PCTCN2021142565-appb-000123
构成下次填充的候选指标集合,则填充
Figure PCTCN2021142565-appb-000124
的方法,可以如下:
对于每一个
Figure PCTCN2021142565-appb-000125
考虑一维的优化问题:
Figure PCTCN2021142565-appb-000126
可得到解为:
Figure PCTCN2021142565-appb-000127
其中,e j为第j列单位向量,μ j为可变的中间参量。
新残差r kjAe j的2-范数ρ j满足:
Figure PCTCN2021142565-appb-000128
选取集合
Figure PCTCN2021142565-appb-000129
中若干个最小的ρ j对应的指标j作为最有利的指标,然后填充到
Figure PCTCN2021142565-appb-000130
得到
Figure PCTCN2021142565-appb-000131
j小表示指标j的元素对减小r k起作用,即需要把j也添加到J k中。)
构建表示稀疏线性系统中第二向量b′各特定类元素的量子态演化的量子线路,包括:
构建OracleO b′用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述量子线路的量子比特位上,其中,编码后的所述量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
所述OracleO b′,用于实现:
Figure PCTCN2021142565-appb-000132
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
需要说明的是,归一化就是要把需要处理的数据经过处理后限制在预设的数值,例如将r个元素数值归一化处理,使其满足所有元素数值平方和为1。其目的是为了后续数据处理的方便,其次是保证数据编码时效率加快。
示例性的,b′=[b 1,b 2,b 3,b 4],则,将第一向量b′的数据编码到量子态振幅上,得到:
Figure PCTCN2021142565-appb-000133
从而实现:将第二向量b′的数据加载到量子线路中2个量子比特的量子态振幅上,且编码后的量子线路的量子比特位上的量子态的振幅与归一化后第二向量b′的元素一一对应。
需要说明的是,已知
Figure PCTCN2021142565-appb-000134
Figure PCTCN2021142565-appb-000135
构建出提取M元素的操作(O M1,O M2)则基于相同的功能,通过
Figure PCTCN2021142565-appb-000136
Figure PCTCN2021142565-appb-000137
利用量子行走构建出第二向量b′,即Mb。
具体的,通过公式W nT|b>=TΓ n(M)|b>+|⊥ b>和|0 m>|b>→|0 mn(M)|b>+|Φ >可知,当n=1、m=1时,即公式可转化为:WT|b>=TΓ(M)|b>+|⊥ b>和|0>|b>→|0>Γ(M)|b>+|Φ >,其中|Φ >为非归一化的量子态,∏|Φ >=0且
Figure PCTCN2021142565-appb-000138
因此,仅需构建出算子W和T即可利用量子行走构建出Mb。
参见图6,图6为本公开实施例提供的一种关于T的量子线路示意图。本领域技术人员可以理解的是,H表示H门,O F、O H、M 1表示不同功能的Oracle,
Figure PCTCN2021142565-appb-000139
表示O H的转置共轭,T表示H门及Oracle组合的整体功能模块,T模块的功能即为将|j>变换为|Ψ j>。并且,获得的输入该T模块的矩阵为N阶矩阵,上方|j>处
Figure PCTCN2021142565-appb-000140
中的N表示行数,下方
Figure PCTCN2021142565-appb-000141
中的N表示列数,其余表示同上。构建的T模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑ j∈[N]j><j|,其中,<j|为量子态左矢。
具体的,利用H门,构建叠加态:
Figure PCTCN2021142565-appb-000142
O F实现变换:
Figure PCTCN2021142565-appb-000143
Figure PCTCN2021142565-appb-000144
O H实现变换:
Figure PCTCN2021142565-appb-000145
Figure PCTCN2021142565-appb-000146
Figure PCTCN2021142565-appb-000147
最后,再调用一次O H进行转置共轭操作,将编码A′ jk的量子比特回收,进而输出|Ψ j>。
需要说明的是,该示意图只示出了与本申请相关的部分量子线路,图中各标识及连接关系,仅仅作为示例,并不构成对本发明的限定。
参见图7,图7为本公开实施例提供的一种关于行走算子W的量子线路示意图。本领域技术人员可以理解的是,任何一个简单的函数都可以线性近似为其他函数的线性组合, 可以通过Chebyshev切比雪夫多项式近似矩阵的逆函数。具体如下:
Figure PCTCN2021142565-appb-000148
还有
Figure PCTCN2021142565-appb-000149
本申请中求逆矩阵,它满足O(‖A -1-F‖)=∈。线性组合为:
Figure PCTCN2021142565-appb-000150
此处
Figure PCTCN2021142565-appb-000151
b=κ 2log(κ/∈),g(x)是2∈,
在D κ:=(-1,-1/κ)∪(1/κ,1)。
Figure PCTCN2021142565-appb-000152
是第一类Chebyshev多项式。
量子游走:为了实现Chebyshev多项式,需要在量子行走框架中进行。
因为量子游走被执行在空间
Figure PCTCN2021142565-appb-000153
中的一些态
Figure PCTCN2021142565-appb-000154
上,定义一个映射
Figure PCTCN2021142565-appb-000155
Figure PCTCN2021142565-appb-000156
Figure PCTCN2021142565-appb-000157
Figure PCTCN2021142565-appb-000158
Figure PCTCN2021142565-appb-000159
和行走算子:
Figure PCTCN2021142565-appb-000160
算子S执行
Figure PCTCN2021142565-appb-000161
中的乘积态的翻转操作。于是有:
Figure PCTCN2021142565-appb-000162
Figure PCTCN2021142565-appb-000163
是第一类Chebyshev多项式。
示例性的,例如图7所示,说明游走算子W的量子线路。因为
Figure PCTCN2021142565-appb-000164
S可以由一群交换操作构造出来(例如一个SWAP门,图7量子比特中两个标粗X相连的符号,即表示一个SWAP门),剩下来的就是
Figure PCTCN2021142565-appb-000165
Figure PCTCN2021142565-appb-000166
所以
Figure PCTCN2021142565-appb-000167
算子T在量子线路中是酉算子,它把|j>|0>变为|ψ j>。它不同于维数为4N 2×2N的T:=∑ j∈Nj><j|。为了区别,用T qc来定义该量子线路:
Figure PCTCN2021142565-appb-000168
且:K=2|0><0|-I 2N
目前,现有的量子线路构建往往只能够利用现有的单量子逻辑门、双量子逻辑门等等,通常存在以下问题:
对于功能比较复杂的量子线路,需要用到的量子比特数量会非常多,使用经典计算机进行模拟的时候会消耗巨大的内存空间,需要用到的逻辑门数量会非常多,模拟耗时会 非常长。并且,一些复杂的算法难以用量子线路进行实现。
基于此,通过改用Oracle模拟的方式实现特定的复杂功能,并实现受控和转置共轭操作。用户传入Oracle的参数,可以包括:Oracle名称(用于识别Oracle的功能用途,如O b′)、量子比特位、矩阵元素等等。
这种方式的好处是,整体上将Oracle作为已知模块,无需关注其内部的实现细节,在量子应用场景例如量子线路的表示上,非常的简单明了。由于可以将经典模拟的Oracle功能模块等效成量子逻辑门,使得构建的量子线路得以简化,因此节省了运行时所需的内存空间,并加快量子算法的模拟验证。
参见图8,图8为本公开实施例提供的一种实现第三Oracle功能的量子线路示意图。
具体的,如图8所示的量子线路示意图中,V、T表示不同功能的Oracle,
Figure PCTCN2021142565-appb-000169
表示转置共轭,T表示H门及Oracle组合的整体功能模块T,T模块的功能即为将|j>变换为|Ψ j>。并且,获得的输入该T模块的矩阵为N阶矩阵,构建的T模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑ j∈[N]j><j|,其中,<j|为量子态左矢。如图8所示的量子线路可执行量子态由|b>至|b′>的量子态演化或者如图8所示的量子线路可执行量子态由|b>至|D -1b>的量子态演化。
根据
Figure PCTCN2021142565-appb-000170
以及矩阵的乘法定义与乘法运算来构建N e,(e=1,2,3,…,s),再根据加法运算来构建出I+N+…+N s,从而实现O b′|0>=|b′>=[I+N+…+N s]D -1|b>。
具体的,首先通过在第二量子线路利用量子乘法分别构建s个N相乘,然后利用量子加法计算I+N+…+N s,从而构建出第二向量b′在第二量子线路上的量子态演化结果。需要说明的是,量子四则运算是目前已经是广泛研究和应用的技术,在此不做第二向量b′具体运算实现的过程。
量子Oracle是一个黑盒表示某种量子态的转变。量子Oracle的一个典型例子是线性系统:O|x>|0>=|x>|f(x)>,此处计算f(x)用第一个量子寄存器作为输入,第二个量子寄存器作为输出。另外一个例子就是QRAM可以被视为一种Oracle。很多量子算法用到Oracle,许多量子算法都使用Oracle,但他们不关心Oracle的实现,它可以分解成量子门,也可以实现QRAM。在QPanda中,可以使用“Oracle”函数来定义。Oracle被认为是具有用户提供的名称。
可见,本申请通过将线性系统的矩阵及向量信息编码到量子态,将经典的数据结构与量子领域的量子态联系起来,并执行经典的数据结构编码到量子态的演化操作,得到演化后的量子线路的量子态,其能够利用量子的叠加特性,加速条件数较大的线性系统的求解问题,扩展量子计算的模拟应用场景。
与现有技术相比,本公开提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建 表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
此外,与现有技术相比,本公开还提供一种基于稀疏线性系统的量子预处理方法,首先获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息,然后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和所述第二量子线路的量子态。可见,利用量子的叠加特性,通过将稀疏线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足稀疏线性系统的量子预处理技术,用于量子计算的模拟,降低稀疏线性系统的条件数,填补量子计算领域相关技术空白。
此外,与现有技术相比,本公开提供一种稀疏线性系统的稀疏近似逆量子预处理方法,首先分别获取稀疏线性系统中第一矩阵A、第一向量b的信息,根据第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J,分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态,其中,第二矩阵A′=MA,第二向量b′=Mb。利用量子的叠加特性,实现一种稀疏线性系统的稀疏近似逆量子预处理方法,用于量子计算的模拟,降低稀疏线性系统的条件数,填补相关技术空白。
参见图9,图9为本公开实施例提供的一种针对线性系统的量子预处理装置的结构示意图。量子预处理装置可以包括获取模块601、构建模块602、计算模块603和执行模块604。
例如,量子预处理装置可以用于执行图2所示的方法中的处理。例如,获取模块601获取线性系统
Figure PCTCN2021142565-appb-000171
中第一矩阵A、第一向量b的元素信息。构建模块602构建用于线性系统预处理的新矩阵M。计算模块603根据所述新矩阵M,计算用于构建量子线路的第二矩阵A′及第二向量b′。执行模块604构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
例如,量子预处理装置还可以用于执行图3所示的方法中的处理。获取模块601,用 于获取线性系统中第一矩阵A、第一向量b的元素信息;
构建模块602,用于根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
计算模块603,用于根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M -1A,所述第二向量b′=M -1b;
执行模块604,用于构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。具体的,所述特定类元素为:非零元素。
具体的,所述执行模块包括第一Oracle模块和第二Oracle模块:
所述第一Oracle模块用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
所述第二Oracle模块用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
具体的,所述第一Oracle模块为
Figure PCTCN2021142565-appb-000172
模块,所述第二Oracle模块为
Figure PCTCN2021142565-appb-000173
模块,用于实现:
Figure PCTCN2021142565-appb-000174
Figure PCTCN2021142565-appb-000175
其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素。
具体的,所述第二Oracle模块由以下方式实现:
|j,k,0>|0>→|j,k,A jk>|A jj>→|j,k,A jk/A jj>|A jj>→|j,k,A jk/A jj>|0>
其中,所述A jk为所述第一矩阵A中第j行第k列的非零元素,所述A jj为所述第一矩阵A中的主对角线上的非零元素。
具体的,所述执行模块还包括第三Oracle模块:
所述第三Oracle模块用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
具体的,所述第三Oracle模块为O b′模块,用于实现:
Figure PCTCN2021142565-appb-000176
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
与现有技术相比,本公开提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系 统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
例如,量子预处理装置还可以用于执行图4所示的方法中的处理。
例如,获取模块601用于获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息;
构建模块602,用于构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
具体的,所述特定类元素为:非零元素。
具体的,在所述获取模块之前,所述装置还包括:
信息获取模块,用于获取稀疏线性系统中第一矩阵A、第一向量b的元素信息;
矩阵构建模块,用于根据所述第一矩阵A的主对角线元素,构建用于稀疏线性系统预处理的新矩阵D;
计算模块,用于利用所述诺依曼多项式和新矩阵D的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵
Figure PCTCN2021142565-appb-000177
所述第二向量b′=M -1b=[I+N+…+N s]D -1b,M -1≡[I+N+…+N s]D -1,ω为尺度化参数,s为大于0的整数,N为可逆矩阵并且满足N=I-ωD -1A。
具体的,所述构建模块包括第一Oracle和第二Oracle:
所述第一Oracle用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
所述第二Oracle用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
具体的,所述第一Oracle模块为
Figure PCTCN2021142565-appb-000178
模块,所述第二Oracle模块为
Figure PCTCN2021142565-appb-000179
模块,用于实现:
Figure PCTCN2021142565-appb-000180
Figure PCTCN2021142565-appb-000181
其中,所述f′(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素。
具体的,所述构建模块包括第三Oracle模块:
所述第三Oracle模块用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
具体的,所述第三Oracle模块为O b′模块,用于实现:
Figure PCTCN2021142565-appb-000182
其中,所述c′是第二向量b′的归一化常数,所述t为第二向量b′的元素个数。
与现有技术相比,本公开提供一种基于稀疏线性系统的量子预处理方法,首先获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息,然后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和所述第二量子线路的量子态。可见,利用量子的叠加特性,通过将稀疏线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足稀疏线性系统的量子预处理技术,用于量子计算的模拟,降低稀疏线性系统的条件数,填补量子计算领域相关技术空白。
例如,量子预处理装置可以是稀疏线性系统的稀疏近似逆量子预处理装置,还可以用于执行图5所示的方法中的处理。
获取模块501,用于分别获取稀疏线性系统中第一矩阵A、第一向量b的信息;
构建模块502,用于根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J;
执行模块503,用于分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态;其中,所述第二矩阵A′=MA,所述第二向量b′=Mb。
具体的,所述特定类元素为:非零元素。
具体的,所述执行模块,包括:
第一提取模块,用于构建
Figure PCTCN2021142565-appb-000183
Figure PCTCN2021142565-appb-000184
用于提取所述第二矩阵A′中非零元素的元素信息,其中,
Figure PCTCN2021142565-appb-000185
的作用为
Figure PCTCN2021142565-appb-000186
Figure PCTCN2021142565-appb-000187
的作用为
Figure PCTCN2021142565-appb-000188
所述f′(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素且k=f′(j,l)。
具体的,所述执行模块,包括:
第二提取模块,用于构建OracleO b′用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述量子线路的量子比特位上,其中,编码后的所述量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
具体的,所述第二提取模块,包括OracleO b′模块,用于实现:
Figure PCTCN2021142565-appb-000189
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
具体的,所述构建模块,包括:
第一构建单元,用于获取所述稀疏近似矩阵M对应第k列的稀疏结构为J k的n维向量集合和表示第一矩阵A(·,J k)的非零行指标集I k,其中所述J k={i|(i,k)∈J},
Figure PCTCN2021142565-appb-000190
且表示所述预设稀疏结构;
第二构建单元,用于根据所述非零行指标集I k和所述J k,构建第三矩阵A k,其中,所述A k=A(I k,J k);
第三构建单元,用于根据所述第三矩阵A k,计算
Figure PCTCN2021142565-appb-000191
并构建用于稀疏线性系统预处理的稀疏近似矩阵M=(m 1,m 2,...,m k,...,m n),其中,所述
Figure PCTCN2021142565-appb-000192
e k表示单位矩阵,所述m k
Figure PCTCN2021142565-appb-000193
确定。
具体的,所述第三构建单元,包括:
实现单元,用于所述
Figure PCTCN2021142565-appb-000194
由量子算术运算构建量子线路得到的U k算子实现:
Figure PCTCN2021142565-appb-000195
所述U k具体实现以下量子态的演化:
Figure PCTCN2021142565-appb-000196
与现有技术相比,本公开提供一种稀疏线性系统的稀疏近似逆量子预处理方法,首先分别获取稀疏线性系统中第一矩阵A、第一向量b的信息,根据第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J,分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态,其中,第二矩阵A′=MA,第二向量b′=Mb。利用量子的叠加特性,实现一种稀疏线性系统的稀疏近似逆量子预处理方法,用于量子计算的模拟,降低稀疏线性系统的条件数,填补相关技术空白。
本公开实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:获取线性系统中第一矩阵A、第一向量b的元素信息;
S202:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
S203:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M -1A,所述第二向量b′=M -1b;
S204:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所 述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
此外,本公开实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质还可以被设置为存储用于执行以下步骤的计算机程序:
S211:获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息;
S212:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
此外,例如,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:分别获取稀疏线性系统中第一矩阵A、第一向量b的信息;
S202:根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A-1的稀疏近似且满足预设稀疏结构J;
S203:分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态;其中,所述第二矩阵A′=MA,所述第二向量b′=Mb。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
与现有技术相比,本公开提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
此外,与现有技术相比,本公开提供一种基于稀疏线性系统的量子预处理方法,首先获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信 息,然后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和所述第二量子线路的量子态。可见,利用量子的叠加特性,通过将稀疏线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足稀疏线性系统的量子预处理技术,用于量子计算的模拟,降低稀疏线性系统的条件数,填补量子计算领域相关技术空白。
此外,与现有技术相比,本公开提供一种稀疏线性系统的稀疏近似逆量子预处理方法,首先分别获取稀疏线性系统中第一矩阵A、第一向量b的信息,根据第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J,分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态,其中,第二矩阵A′=MA,第二向量b′=Mb。利用量子的叠加特性,实现一种稀疏线性系统的稀疏近似逆量子预处理方法,用于量子计算的模拟,降低稀疏线性系统的条件数,填补相关技术空白。
本公开实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:获取线性系统中第一矩阵A、第一向量b的元素信息;
S202:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
S203:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M -1A,所述第二向量b′=M -1b;
S204:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
与现有技术相比,本公开提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的 演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
可选的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息;
S202:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
与现有技术相比,本公开提供一种基于稀疏线性系统的量子预处理方法,首先获取稀疏线性系统经诺依曼多项式预处理的第二矩阵A′、第二向量b′的各特定类元素信息,然后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和所述第二量子线路的量子态。可见,利用量子的叠加特性,通过将稀疏线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足稀疏线性系统的量子预处理技术,用于量子计算的模拟,降低稀疏线性系统的条件数,填补量子计算领域相关技术空白。
可选的,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S201:分别获取稀疏线性系统中第一矩阵A、第一向量b的信息;
S202:根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J;
S203:分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态;其中,所述第二矩阵A′=MA,所述第二向量b′=Mb。
与现有技术相比,本公开提供一种稀疏线性系统的稀疏近似逆量子预处理方法,首先分别获取稀疏线性系统中第一矩阵A、第一向量b的信息,根据第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J,分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,分别执行量子态的演化操作,得到演化后的所述量子线路的量子态,其中,第二矩阵A′=MA,第二向量b′=Mb。利用量子的叠加特性,实现一种稀疏线性系统的稀疏近似逆量子预处理方法,用于量子计算的模拟,降低稀疏线性系统的条件数,填补相关技术空白。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (18)

  1. 一种针对线性系统的量子预处理方法,其特征在于,包括:
    获取线性系统
    Figure PCTCN2021142565-appb-100001
    中第一矩阵A、第一向量b的元素信息;
    构建用于线性系统预处理的新矩阵M;
    根据所述新矩阵M,计算用于构建量子线路的第二矩阵A′及第二向量b′;
    构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
  2. 根据权利要求1所述的方法,其特征在于,所述特定类元素为:非零元素。
  3. 根据权利要求1或2所述的方法,其中,构建用于线性系统预处理的新矩阵M包括:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
    其中,根据所述新矩阵M,计算用于构建量子线路的第二矩阵A′及第二向量b′包括:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M -1A,所述第二向量b′=M -1b。
  4. 根据权利要求1或2所述的方法,其特征在于,所述线性系统是稀疏线性系统,以及构建用于线性系统预处理的新矩阵M包括:根据所述第一矩阵A的主对角线元素,构建用于稀疏线性系统预处理的新矩阵D,其中,对于新矩阵M,M -1≡[I+N+…+N s]D -1
    其中,根据所述新矩阵M,计算用于构建量子线路的第二矩阵A′及第二向量b′包括:利用所述诺依曼多项式和新矩阵D的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵
    Figure PCTCN2021142565-appb-100002
    所述第二向量b′=M -1b=[I+N+…+N s]D -1b,ω为尺度化参数,s为大于0的整数,N为可逆矩阵并且满足N=I-ωD -1A。
  5. 根据权利要求3或4所述的方法,其特征在于,所述第一量子线路包括第一Oracle和第二Oracle:
    所述第一Oracle用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
    所述第二Oracle用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
  6. 根据权利要求5所述的方法,其特征在于,所述第一Oracle为
    Figure PCTCN2021142565-appb-100003
    所述第二Oracle为
    Figure PCTCN2021142565-appb-100004
    用于实现:
    Figure PCTCN2021142565-appb-100005
    Figure PCTCN2021142565-appb-100006
    其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素。
  7. 根据权利要求6所述的方法,其特征在于,所述第二Oracle由以下方式实现:
    |j,k,0>|0>→|j,k,A jk>|A jj>→|j,k,A jk/A jj>|A jj>→|j,k,A jk/A jj>|0>
    其中,所述A jk为所述第一矩阵A中第j行第k列的非零元素,所述A jj为所述第一矩阵A中的主对角线上的非零元素。
  8. 根据权利要求3或4所述的方法,其特征在于,所述第二量子线路包括第三Oracle:
    所述第三Oracle用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
  9. 根据权利要求8所述的方法,其特征在于,所述第三Oracle为O b′,用于实现:
    Figure PCTCN2021142565-appb-100007
    其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
  10. 根据权利要求1或2所述的方法,其特征在于,所述线性系统是稀疏线性系统,以及构建用于线性系统预处理的新矩阵M包括:根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A -1的稀疏近似且满足预设稀疏结构J;
    其中,根据所述新矩阵M,计算用于构建量子线路的第二矩阵A′及第二向量b′包括:根据第二矩阵A′=MA以及第二向量b′=Mb,计算用于构建量子线路的算第二矩阵A′及第二向量b′。
  11. 根据权利要求10所述的方法,其特征在于,所述分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,包括:
    构建
    Figure PCTCN2021142565-appb-100008
    Figure PCTCN2021142565-appb-100009
    用于提取所述第二矩阵A′中非零元素的元素信息,其中,
    Figure PCTCN2021142565-appb-100010
    的作用为
    Figure PCTCN2021142565-appb-100011
    的作用为
    Figure PCTCN2021142565-appb-100012
    所述f′(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′ jk为所述第二矩阵A′中第j行第k列的非零元素且k=f′(j,l)。
  12. 根据权利要求10所述的方法,其特征在于,所述分别构建表示稀疏线性系统中第二矩阵A′、第二向量b′各特定类元素的量子态演化的量子线路,包括:
    构建OracleO b′用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述量子线路的量子比特位上,其中,编码后的所述量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
  13. 根据权利要求12所述的方法,其特征在于,所述OracleO b′,用于实现:
    Figure PCTCN2021142565-appb-100013
    其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
  14. 根据权利要求10所述的方法,其特征在于,所述根据所述第一矩阵A,构建用于稀疏线性系统预处理的稀疏近似矩阵M,包括:
    获取所述稀疏近似矩阵M对应第k列的稀疏结构为J k的n维向量集合和表示第一矩阵A(·,J k)的非零行指标集I k,其中所述J k={i|(i,k)∈J},
    Figure PCTCN2021142565-appb-100014
    且表示所述预设稀疏结构;
    根据所述非零行指标集I k和所述J k,构建第三矩阵A k,其中,所述A k=A(I k,J k);
    根据所述第三矩阵A k,计算
    Figure PCTCN2021142565-appb-100015
    并构建用于稀疏线性系统预处理的稀疏近似矩阵M=(m 1,m 2,...,m k,...,m n),其中,所述
    Figure PCTCN2021142565-appb-100016
    e k表示单位矩阵,所述m k
    Figure PCTCN2021142565-appb-100017
    确定。
  15. 根据权利要求14所述的方法,其特征在于,所述
    Figure PCTCN2021142565-appb-100018
    由量子算术运算构建量子线路得到的U k算子实现:
    Figure PCTCN2021142565-appb-100019
    所述U k具体实现以下量子态的演化:
    Figure PCTCN2021142565-appb-100020
  16. 一种针对线性系统的量子预处理装置,其特征在于,所述装置包括:
    获取模块,用于获取线性系统中第一矩阵A、第一向量b的元素信息;
    构建模块,用于根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
    计算模块,用于根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M -1A,所述第二向量b′=M -1b;
    执行模块,用于构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
  17. 一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至15任一项中所述的方法。
  18. 一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至15任一项中所述的方法。
PCT/CN2021/142565 2020-12-31 2021-12-29 量子预处理方法、装置、存储介质及电子装置 WO2022143789A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21914521.6A EP4273758A1 (en) 2020-12-31 2021-12-29 Quantum preprocessing method and apparatus, storage medium, and electronic apparatus
US18/270,605 US20240112054A1 (en) 2020-12-31 2021-12-29 Quantum preprocessing method, device, storage medium and electronic device

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN202011637102.6 2020-12-31
CN202011633352.2A CN114692879B (zh) 2020-12-31 2020-12-31 一种基于稀疏线性系统的量子预处理方法及装置
CN202011637102.6A CN114764618B (zh) 2020-12-31 2020-12-31 一种针对线性系统的量子预处理方法及装置
CN202011633352.2 2020-12-31
CN202110122930.4A CN114819167B (zh) 2021-01-29 2021-01-29 一种稀疏线性系统的稀疏近似逆量子预处理方法及装置
CN202110122930.4 2021-01-29

Publications (1)

Publication Number Publication Date
WO2022143789A1 true WO2022143789A1 (zh) 2022-07-07

Family

ID=82260253

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/142565 WO2022143789A1 (zh) 2020-12-31 2021-12-29 量子预处理方法、装置、存储介质及电子装置

Country Status (3)

Country Link
US (1) US20240112054A1 (zh)
EP (1) EP4273758A1 (zh)
WO (1) WO2022143789A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767007A (zh) * 2018-12-10 2019-05-17 东南大学 一种基于量子计算的最小均方误差检测方法
US20200104740A1 (en) * 2018-10-02 2020-04-02 Zapata Computing, Inc. Hybrid Quantum-Classical Computer for Solving Linear Systems
CN111582491A (zh) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 一种量子线路的构建方法及装置
US20200349459A1 (en) * 2019-05-03 2020-11-05 Zapata Computing, Inc. Quantum-Classical System and Method for Matrix Computations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200104740A1 (en) * 2018-10-02 2020-04-02 Zapata Computing, Inc. Hybrid Quantum-Classical Computer for Solving Linear Systems
CN109767007A (zh) * 2018-12-10 2019-05-17 东南大学 一种基于量子计算的最小均方误差检测方法
US20200349459A1 (en) * 2019-05-03 2020-11-05 Zapata Computing, Inc. Quantum-Classical System and Method for Matrix Computations
CN111582491A (zh) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 一种量子线路的构建方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG, HENG: "Condition Number and Preprocess of the Finite Element Equation of One Dimensional Problem with Linear Shape Function", JOURNAL OF FUQING BRANCH OF FUJIAN NORMAL UNIVERSITY, no. 2, 31 March 2016 (2016-03-31), pages 1 - 3, XP055947671, ISSN: 1008-3421 *

Also Published As

Publication number Publication date
EP4273758A1 (en) 2023-11-08
US20240112054A1 (en) 2024-04-04

Similar Documents

Publication Publication Date Title
WO2022166199A1 (zh) 量子纠错解码系统、方法、容错量子纠错系统及芯片
WO2022027916A1 (zh) 基于量子算法的计算流体动力学模拟方法、装置及设备
CN105512723A (zh) 一种用于稀疏连接的人工神经网络计算装置和方法
US11842250B2 (en) Quantum error correction decoding system and method, fault-tolerant quantum error correction system, and chip
CN113222150B (zh) 一种量子态的变换方法及装置
WO2023093857A1 (zh) 基于量子线路求解非线性方程组的方法、装置和存储介质
CN115169565B (zh) 一种小分子化学体系的哈密顿量模拟方法和装置
CN114358319B (zh) 基于机器学习框架的分类方法及相关装置
CN113222161B (zh) 一种自定义量子逻辑门的实现方法、装置
CN113222151B (zh) 一种量子态的变换方法及装置
CN112396166A (zh) 基于混合粒度聚合器的图卷积神经网络训练方法及装置
WO2023169345A1 (zh) 数据模拟任务的处理方法、装置、电子设备及存储介质
WO2022143789A1 (zh) 量子预处理方法、装置、存储介质及电子装置
CN116306951A (zh) 一种量子计算方法和装置、电子设备和存储介质
CN114511094A (zh) 一种量子算法的优化方法、装置、存储介质与电子装置
CN115311515A (zh) 混合量子经典的生成对抗网络的训练方法及相关设备
CN114819167B (zh) 一种稀疏线性系统的稀疏近似逆量子预处理方法及装置
CN114764618B (zh) 一种针对线性系统的量子预处理方法及装置
CN114692879B (zh) 一种基于稀疏线性系统的量子预处理方法及装置
WO2024007919A1 (zh) 基于lbm的量子流动模拟方法、装置、介质及设备
CN115618663B (zh) 一种网格方程与物理方程耦合的量子求解方法及装置
WO2024046136A1 (zh) 量子神经网络的训练方法及训练装置
WO2022110705A1 (zh) Qram架构的量子线路的构建方法和装置、以及量子地址数据的解析方法和装置
CN117669757A (zh) 一种哈密顿量的构造方法及装置
CN117709415A (zh) 一种量子神经网络模型的优化方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21914521

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18270605

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021914521

Country of ref document: EP

Effective date: 20230731