CPC G06N 10/20 (2022.01) [G06F 7/4824 (2013.01); G06F 7/505 (2013.01); G06F 7/5057 (2013.01); G06F 7/72 (2013.01); G06F 17/10 (2013.01); G06N 10/00 (2019.01); G06N 10/70 (2022.01); G11C 11/4063 (2013.01); H04B 10/70 (2013.01)] | 22 Claims |
1. A method for performing a modular exponentiation operation using a target quantum register of qubits and a source quantum register of qubits, the method comprising:
for each index in a first set of indices,
determining a first plurality of address values, comprising extracting multiple source register values;
for each index in a second set of indices,
determining a second plurality of address values, comprising extracting multiple target register values;
for each index in a third set of indices and for each index in a fourth set of indices,
determining a table entry by multiplying i) the index in the third set of indices, ii) the index in the fourth set of indices, and iii) 2 to the power of the index in the second set of indices, and applying a modulus operation;
adjusting a modular addition register using table entries corresponding to the first plurality of address values and the second plurality of address values;
for each index in a fifth set of indices,
determining a third plurality of address values, comprising extracting multiple values of the adjusted modular addition register;
determining, for each index in a sixth set of indices, multiple table entries, the determining comprising, for each index in a seventh set of indices,
determining a table entry that corresponds to the index in the seventh set of indices by multiplying i) the index in the sixth set of indices, ii) the index in the seventh set of indices, and iii) 2 to the power of the index in the fifth set of indices, and applying a modulus operation; and
adjusting the target quantum register using table entries corresponding to the first plurality of address values and the third plurality of address values.
|