-
Notifications
You must be signed in to change notification settings - Fork 6
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
Scope of QuBase.jl #7
Comments
Looks good for this roadmap! Just some thoughts along the line. Should we also include the following content?
|
I think all the previous listed special/common states/operators make sense to be in QuBase. I think having a separate package for more niche quantum information work is a good idea, though we'd have to more clearly define where the line is between what should be in base and what should be put elsewhere. I think covering everything on @acroy's roadmap is a good start, and we'll probably be able to see where things should go once we complete that list. I wouldn't be opposed to separating visualization-related functionality into its own package ("QuPlot.jl" has a nice ring to it). |
@Qi: Those are excellent points. I have added some to the list (eventually we might want to transfer this roadmap + ideas to a separate document). I agree that we should somehow address 1) in QuBase, but I am not sure yet how to do this in a nice way (say for Lindblad superoperators, commutators etc). Maybe I come up with something when I upgrade QuDOS. Your point 6) is also an interesting idea. We could have types for the respective pictures, which contain a (reference) state and a propagator of some sort ... Would you mind filing an issue as a reminder? Otherwise I would say we start with 1-4 and, as @jrevels said, see how we proceed from there. |
This is just a memo that we have recently received requests of contributions from the Julia community where people can help code some content requiring little quantum mechanics background knowledge in Julia. There are also other demands of contributions in various ways. I have also redirect this issue to the big roadmap in the Roadmap repo for people to followup where they can find opportunities to contribute in various levels. I suggest, once this project is well referenced and documented, and is ready to accept public contributions or to be used as a base for power other projects, we could reference this issue and announce where we accept contributions for extensions, testing, demonstrating examples and so on. For example, if the base for state representation is in a good shape, people without too much background knowledge on in-depth quantum theory and this repo may be able to translate the equations in the quantum correlations and distinguishability of quantum states review paper given in the post earlier above into standard Julia functions. Some other coordinated actions have been made along the line in another announcement. Thoughts? |
Although there are already some ideas in #3, we should have more fine-grained discussion on the content of QuBase. Maybe we can use this issue to collect some ideas and refine the roadmap in #3.
The following four points are probably uncontroversial and partly contained in #5.
QuArray
andFiniteBasis
related:+,-,*
etc (it would be nice to have mutating functions as well, likeA_mul_B!
)expm
)raiseop/lowerop
), momentum and position,displacement and squeezing operators
statevec
) and density matrices, coherent and squeezed states(Some of the functions in 3 & 4 could probably be taken from QuDOS.)
Additionally we could include the following aspects, but might put them into separate packages eventually:
Basically anything else should IMO first be developed in a separate packages. In particular with propagators we need to experiment a bit more to find a reasonable (and generic) interface. (Note: If we do it right, we can use
QuArray
s with ODE solvers fromODE.jl
andexmpv
fromExpokit.jl
without much trouble. So the propagation itself is "easy", but finding a good way to switch between methods and pass parameters is tricky).[EDIT: I added some points from @Qi's comment below.]
The text was updated successfully, but these errors were encountered: