PauliX gate can not make the superposition, so the coefficient may not reflect the probability of quantum states, namely the probability to measure the x1 as well as x2 is zero. Furthermore, we are only able to measure the result x = [1, 0, 1] which is not the original data point.
In the single data example, the PauliX may produce the suitable result (as the developer reply). For example, x = [1, 0, 0, 1] just flip bit 0 and 3, then done~
However, the double PauliX gate will produce the Identity transformation in the corresponding wire.
For more specific, suppose x1= [0, 0, 1], x2 = [0, 1, 0], x3 = [0, 1, 1]
While we encode the 3 data example, the result will be x = [0, 0, 0]…
Due to the last 2 bit transformed by PauliX twices without superposition.
============================================
By the way, in the tfq tutorial mnist, which use the independent circuit to perform the Basis Encoding (then everything make sense like the developer’s reply – just flip bit by PauliX).
However, I found that Pennylane stack the data examples into only 1 circuit as the following blog plot!!
Since a superposition state is a normalised linear combination of basis states this cannot be directly embedded using this method. A Hadamard operation would be a good option to create a superposition state as you have suggested. This highlights a subtle difference between basis embedding and state preparation.
Please let us know if you have any more questions!
Many thanks for your reply.
Maybe I have a little confusion about the difference between state preparation and basis embedding.
I thought the basis embedding is one of the methods to prepare the basis encoding ( QuantumComputingPatterns. )
So, can we prepare the basis encoding by directly using the BasisEmbedding function? or there exists the other function in Pennylane that offer such functionality?
You are correct in thinking that basis embedding is one of the methods to prepare the basis encoding. Indeed, basis embedding associates each classical input number with a computational basis state of a qubit system.
Pennylane’s BasisEmbedding class will do exactly this using the intermediate step of translating a classical number into a binary representation e.g 5 = [1, 0, 1]. We would then pass this binary representation to BasisEmbedding as done so above.
Embedding a basis in this way is generally an initial step for quantum machine learning. Similar to how classical input is only acceptable to the neural network in the form of embedding vectors. The same is true for quantum neural networks; they require embedded input before the next steps of the machine learning algorithm can be performed.
Quantum information processing can be performed on embedded data such as applying Hadamard gates to create superposition states or applying CNOT gates introduce entanglement . This allows for the quantum machine learning.