Patent ID: 11934464
Assignee: MULTIVERSE COMPUTING S.L.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 16:
17. A non-transitory computer-readable medium comprising computer-executable instructions for a method for performing unsupervised clustering of a data set comprising a plurality of data points, wherein when executed by a processor in a classical digital computer cause the processor to:
import the plurality of data points of the data set;
locate the plurality of data points on the surface of a unique Bloch sphere, the position of each data point on the Bloch sphere being identified by a corresponding initial position vector in the Bloch sphere, the Bloch sphere representing a qubit, and the initial position vector of each data point on the Bloch sphere representing a quantum state of the qubit;
calculate the cost of a cost function based on the initial position vector of each data point of the data set, the cost function having its minimum cost when the data points are clustered optimally, the cost function comprising a plurality of sets of variational parameters, each set of variational parameters comprising at least one group of three variational parameters, and the plurality of sets of variational parameters being common to all the data points;
execute a classical optimizer for the cost function, obtaining a plurality of sets of optimized variational parameters; and
for each execution of the classical optimizer for the cost function, send the plurality of sets of optimized variational parameters, and then, send the initial position vector of each data point of the data set one by one to a quantum computer;
the quantum computer being in communication with the classical digital computer, the quantum computer comprising a quantum processor clustering the plurality of data points using as many qubits as the number of sets of variational parameters in the cost function and comprising a quantum circuit configured for performing a plurality of operations on said qubits, the quantum computer being configured to, for each initial position vector received from the classical digital computer:
translate said initial position vector into a corresponding initial quantum state of a qubit, and initialize the plurality of qubits in the quantum circuit in said initial quantum state;
implement the quantum circuit, the quantum circuit comprising as many layers on each qubit as the number of groups of three variational parameters in the corresponding set of variational parameters, each layer modifying the quantum state of the corresponding qubit based on the values of the three optimized variational parameters in each group, and the last layer on each qubit modifying the quantum state of said qubit to a final quantum state, the plurality of qubits in the quantum circuit being entangled; and
measure and send the final quantum state of the qubits in the quantum circuit and the probability of said qubits being in said final quantum state to the classical digital computer, the final quantum state of the qubits in the quantum circuit corresponding to a label in which the corresponding data point is located;
the computer-executable instructions, when executed by the processor, also causing the processor to calculate the cost of the cost function based on the final quantum state of the qubits in the quantum circuit of all the data points of the data set and the probability of said qubits being in said final quantum state, and to execute the classical optimizer until the cost function reaches its minimum cost.