Melvin is an algorithm to automatically design and find new useful experiments for quantum physicists, which was developed by Dr. Mario Krenn. The original codes are implemented in the software Wolfram Mathematica, of which the important features is that it can do symbolic, as well as numerical calculations.
Here I reimplement Melvin into Python environment, which is open source software. SymPy is a Python library, which can be used for symbolic mathematics (sympy 1.3).
Examples on creating quantum physical states and symbolic transformations (mathematica version in the branch "Mathematica_Codes"):
- The SimpleHOMExample program shows how to work with quantum states, and how the symbolic transformations work.
SimpleHOMExample.nb
SimpleHOMExample.py
- The CalcSRV program is a full version which searches for 3-particle high-dimensionally entanged states with existing optical elements.
CalcSRV.nb
CalcSRV.py
- The SRVCaseCheck code is for checking whether a optical setup can produce 3-particle maximally entanged states.
SRVCaseCheck.py
- Here I add one more code for checking the SchmidtRankVector of a 4-particle maximally state, more details refer to Structure of Multidimensional Entanglement in Multipartite Systems.
Calc4ParticleSRV.nb
Calc4ParticleSRV.py
For more information about Melvin, and other helpful links, take a look at these resources:
-
Automated Search for new Quantum Experiments, original paper for learning about Melvin
-
Mathematcia codes, in the mathematica_codes branch are two examples of Melvin provided by Dr. Mario Krenn.
-
Experiments from Melvin’s solutions, here I list some solutions from Melvin that have been realized in the laboratory of Prof. Dr. Anton Zeilinger at University Vienna & IQOQI Vienna.
1.Experimental Greenberger–Horne–Zeilinger entanglement beyond qubits
2.Multi-photon entanglement in high dimensions
3.High-Dimensional Single-Photon Quantum Gates: Concepts and Experiments
I appreciate all kinds of help, so thank you if you'd like to contribute. If you have any problems, please do not hesitate to contact me (email: njuxmgu@gmail.com).