JuliaAttic / QuBase.jl

A foundational library for quantum mechanics in Julia
Other
43 stars 6 forks source link

On the Timeline and Workflow of QuBase.jl #3

Closed i2000s closed 9 years ago

i2000s commented 9 years ago

As you have noticed, Jarrett (jrevels) is going to present some of our works in the 17th SQuInT workshop on February 19-21, 2015—I will also be there for sure. Therefore, we have to stick to a tight timeline and workflow to efficiently achieve a basic version of the project before the workshop. Here, I tentatively propose a framework on this direction in order to integrate this project into the big picture of JuliaQuantum’s roadmap. @jrevels will take over the leadership on the coordination of this project as he has been working on the antecedent package on the same line and is going to present the work. Let’s see if everyone involved happy with the short-term plan, and I’ll update the plan accordingly. You can open new issues to discuss specific topics. Thanks.

  1. Basic typing system of quantum mechanics.
    1. Timeline:
      • [ ] A tentative version before Jan 15 so that other people can play with it?
      • [ ] A prerelease version before Feb 1st?
      • [ ] Technical status frozen on Feb 10?
    2. concepts to be covered (@jrevels: most can be moved from QuDirac.jl code base. Can you start another post to monitor the planned hierarchy of those types or start documenting the plan in Docile.jl? This may help avoid repeated work and conflicts for others.):
      • quantum states (bra-ket vector space notation should be enough).
      • quantum operators (with some important operators implemented in the base).
      • density operator or density matrix (may be absorbed into the quantum operator type).
      • super-operators.
      • propagators (@acroy: can you think about this part?)
      • others.
  2. Unit test -- Timeline:
    • [ ] Before Feb 1st (Sunday): Think out and implement some simple tests on each part. Pay enough comments in the code file. All work should be mainly done by who defines the types.
    • [ ] All tests done by Feb 10? A second person should be involved in this testing process.
  3. Systematic test and making examples -- Timeline:
    • [ ] Before Feb 1st: making some simple quantum dynamics solvers based on the QuBase.jl for demonstration purpose (@acroy: can lead this part? I believe you have enough foundation to achieve it easily. This part could be evolved into the future quantum solver project for JuliaQuantum). Finish some simple demonstrations of how to use this the basic types to make more complicated operator-state calculations (@jrevels: I believe you have enough material to cover this).
    • [ ] Before Feb 7 (Saturday): find some interesting problems in literature with plots to solve with and without the programmed quantum dynamics solvers. Again, @acroy, should be easy for you. I will also think of some interesting examples in quantum information and control field. Feedbacks to the code base if there is anything wrong. If possible, compare with other packages and do some benchmarks. Examples and results will be used for the vivid graphs in the poster and future tutorials, documentations. Yes, poster presentation like fancy plots.
  4. Documentations (@jrevels) -- Timeline:
    • [ ] Generate a brief description with Docile.jl before Feb 1, so that I can link it to the website and give a feedback. If we have time, we can consider using http://readthedocs.org but optional for now.
    • [ ] Work out the framework of the post before Feb 15 with completed examples and demons. Report progress with draft file back to public.
    • [ ] Final beautification and modification upon feedbacks before Feb 17. I can print out the poster for free and bring it to Berkeley on Feb 18.
  5. Future work and asides:
    • More complete types and functions. @jutho: can you point out the hierarchy of the type system you are working on with tensor algebra before Feb 1st? We will consider those possibilities while working on the basic version of QuBase.jl as early as possible.
    • You can leave more suggestions on future below.

Edited on Jan 6: we may not necessarily stick to the timeline I proposed at the early stage of this repo. I think @jrevels and @acroy know better than I do on organizing this project. See: #7 .

jrevels commented 9 years ago

Seeing as how we're now past these dates, I'll go ahead and close this one up. The goals with regards to documentation and unit testing are particularly worthy of attention but will probably have to wait for the resolution of #9.