JuliaQuantum / Roadmap

Overall and crossing-repository roadmap for JuliaQuantum projects.
9 stars 3 forks source link

Symbolic calculus and stochastic solvers for quantum mechanics #4

Open i2000s opened 8 years ago

i2000s commented 8 years ago

As having been discussed in an earlier issue, we could do something on stochastic solvers for open quantum systems and integrate symbolic computing systems into our projects. Luckily, I came into @ntezak and his projects, there seems to be already some efforts along these directions. As granted from @ntezak, I am quoting what he has said in our recent email correspondence about his thoughts and experiences:

I have extensive experience in symbolic computation [3] and quantum dynamic simulations / codes and would like to set up a whole suite of high performance deterministic and stochastic solvers for close and open quantum systems. In [2] I have written a small library that allows representing typical quantum mechanical linear operators not as explicitly stored CSC/CSR/COO matrices, but in a more efficient way that avoids the inevitable redundancy that occurs when computing Kronecker products (for representing operators on tensor product spaces). ...

In this vain, I’m excited about new packages like Jutho Haegeman’s TensorOperations [4] as that may become very useful for my lab soon.

Overall, I think Julia’s greatest potential for Quantum applications lies (besides the high performance due to the type system) in its strong meta-programming capabilities which enable quasi-symbolic approaches to analyzing models and allows automatic transformations and optimizations of a model before it is ever “compiled” and studied numerically. And I love interfaces like the jupyter notebook which allow us to work with models interactively.

My work is geared towards transitioning certain parts of quantum dynamical modeling from a research tool to an engineering tool and this implies that it becomes necessary to: 1) rapidly set up and analyze potentially very different models 2) at maximum computational efficiency 3) to be able to compose different models (—> circuits) to form larger systems and study these 4) to apply model reduction techniques to complex systems for extracting models that can be evaluated more rapidly.

I am currently finishing up my PhD, defending in July. I will very likely keep working on implementing/improving Python and Julia packages for specific quantum problems, but it is not clear yet where I will be working next. ... [1] QHDLJ for modeling semi-classical quantum optical circuits https://bitbucket.org/ntezak/qhdlj.jl [2] QuantumTensors for representing tensor product operators efficiently https://github.com/ntezak/QuantumTensors.jl [3] QNET for modeling quantum feedback networks ("input output formalism”++, optical circuits or superconducting rf-circuits) https://github.com/mabuchilab/QNET [4](not my project) https://github.com/Jutho/TensorOperations.jl ...

Side Notes:

  1. Ref [1] is a project integrating a lot of goodness of Julia on the application level beyond the focus of this thread.
  2. For the work @ntezak has done and the valuable experience he has, I would recommend @ntezak to be a member of our org. I have invited @ntezak to join JuliaQuantum and he is willing to. Let's see if anyone objects in a week.

So, concrete actions could be taken soon to integrate these ideas and packages into our ecosystem if anyone is interested in doing so. Thoughts? @JuliaQuantum/juliaquantum

ntezak commented 8 years ago

Hi, thanks Qi, for the nice intro! I will check out the existing packages in more detail soon and see how much overlap there is with what I was hoping to help set in motion.

amitjamadagni commented 8 years ago

Hello @ntezak, as there has been a mention of solvers by @Qi, I would like to mention that we have some of the solvers integrated into QuDynamics.jl. It would be nice to hear your thoughts on more solvers being integrated into QuDynamics. Thanks !

ntezak commented 8 years ago

Hi @amitjamadagni, yes, I agree they should live in that package/build on your work! Nice to meet you