This construction is impossible. At a high level, the problem is that any kind of "find a matching index within a superposition" functionality is a super power. It's just a matter of turning the specific kind of matching you're using here (two uniform superpositions match up their indices) into a super power that's known to be impossible.
I'll use the notation a_d[a_i]
to refer to an index register a_i
in uniform superposition and its entangled data register a_d
. I'll write the hypothetical addition operation as c_d[c_i] = b_d[b_i] + a_d[a_i]
.
What I will is is start from an array a_d[a_i]
where either all data values are 0 or there's a single data value that's 1. I'll show these two cases can be distinguished reliable, which is impossible, so the addition must have been a problem. I'll assume there are N possible indices and that N is a power of two.
Basically all I do is compute a series of intermediate values, and keep shifting and combining them to spread the 1 around if it's present:
z_d[z_i] = 0
a1_d[a1_i] = a_d[a_i] + z_d[z_i]
a1_i += 1 (mod N)
a2_d[a2_i] = a1_d[a1_i] + a_d[a_i]
a2_i += 3 (mod N)
a3_d[a3_i] = a2_d[a2_i] + a1_d[a1_i]
a3_i += 7 (mod N)
... etc ...
After $\log_2 N$ iterations, the last produced array is all 1s if there was a single 1 in a_d[a_i]
and all 0s if there wasn't. Not only does this violate lower bounds on how fast quantum search can be, it also violates things like no cloning because it can widen an initially tiny angle difference between two states into outputs where the states have become perpendicular.