Hi @ankit27kh,

Yes, implementing this feature map is not straightforward.

Unless you’re planning to implement this on hardware, the simplest way to prepare these states is likely to use the QubitStateVector operation.

I haven’t checked the details of the paper, so the following code may be implementing a different state, but hopefully it gives you an idea of how you could implement what you want:

```
import pennylane as qml
import numpy as np
g = 4
n_wires = 4
# creates a state vector corresponding to the desire state
# x and g should be integers
def phi(x):
dim = 2 ** n_wires
state = np.zeros(dim)
for i in range(dim):
j = (x * g ** i) % dim
state[j] += 1
norm = np.linalg.norm(state)
return state/norm
dev = qml.device('default.qubit', wires=n_wires)
@qml.qnode(dev)
def circuit(x):
qml.QubitStateVector(phi(x), wires=range(n_wires))
return qml.state()
```

Let me know if that helps!

Juan Miguel