-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Definition of (perfect) complex input states #208
Comments
Hi, I would like to give this a shot as part of the unitary hack event. |
Hello @JMaterne, Thanks for your interest - let us know if you need help or guidance ! |
Hello, you can find a first version of the StateGenerator class here: https://github.com/JMaterne/Perceval/tree/StateGenerators
One thing I noted when testing is that the Polarization Encoding is not yet working with the generator functions.
But on the other hand:
This results e.g. in this behaviour:
Thanks for your help! |
Hello, I had a quick look, and it looks good ! I created #210 for the issue you found out - can you take a look at the same time since it is in the same file? Can you also create some test units? The simplest for further exchanges on the code is that you create a PR. Thanks |
This issue was completed by @JMaterne |
It is possible today in Perceval to work with complex input state by manually constructing it with
pcvl.StateVector
- for instance to work with Bell state: 1/sqrt(2)(|01>+|10>) in dual rail encoding, we would do something like that:This is used for instance in a simulation as follow:
A conversion from logical state |01> => |1,0,0,1> already exists through the concept of Processor port:
We would like to have simpler generators of simple and complex states - for a given encoding:
These generators would be available in a
StateGenerator
class initialized with an encoding (Encoding.RAW (=logical state), Encoding.DUAL_RAIL, and Encoding.POLARIZATION) to be supportedExample code:
The text was updated successfully, but these errors were encountered: