├── LongTerm.md
├── README.md
└── TestRunPhaseV0.1.md
/LongTerm.md:
--------------------------------------------------------------------------------
1 | Let us document some key words for JuliaQuantum projects. Comment below if anything is missing or categorized badly or improper. Features have been implemented should also documented here. Details can be discussed in particular projects. I try to make a long wishlist in case people from different areas want to implement them in Julia.
2 |
3 | Note: the first two parts are the foundation to other parts. Ideally, both symbolic and numerical methods should be implemented. Necessary visualization methods should also be implemented, but we ignore these kind of details in the following roadmap.
4 |
5 | 1. Representations:
6 |
7 | 1. General quantum states (see [QuBase.jl scope](https://github.com/JuliaQuantum/QuBase.jl/issues/7)).
8 | - [x] Pure states (ket & bra).
9 | - [ ] Ensemble of quantum states.
10 |
11 | 2. Operators (see [QuBase.jl scope](https://github.com/JuliaQuantum/QuBase.jl/issues/7)).
12 | - [ ] Hamiltonian (Hermitian or non-Hermitian).
13 | - [ ] Evolutionary operators.
14 | - [ ] Functions of operators.
15 | - [ ] Anti/Commutators.
16 | - [ ] Density operators
17 | - [ ] Trace.
18 | - [ ] Coherence.
19 | - [ ] Superoperators.
20 | - [ ] Kraus operators.
21 | - [ ] Graph/cluster states.
22 | - [ ] Matrix product states and tensor networks.
23 | - [ ] Group and representation theory.
24 | - [ ] SU(2) group, Pauli group and Bloch vectors.
25 | - [ ] Stabilizer group.
26 | - [ ] Other/general SU(d) groups.
27 | - [ ] Coupling and span of Hilbert spaces (direct product and sum of Hilbert spaces).
28 | - [ ] Irreducible representations.
29 | - [ ] Harmonics.
30 | - [ ] Polar/singular value/spectral/Schmidt decompositions.
31 | - [ ] Fourier transform.
32 | 3. Coherent states and infinite dimensional space (see [QuBase.jl](https://github.com/JuliaQuantum/QuBase.jl)).
33 | - [ ] Squeezed states and squeezing operators.
34 | - [ ] Displacement operators.
35 | 4. Wigner function, Q-function, P-function and other quasi-probability functions (see [QuBase.jl scope](https://github.com/JuliaQuantum/QuBase.jl/issues/7)).
36 | - [ ] Characteristic functions.
37 | 5. Pictures (see [QuBase.jl scope](https://github.com/JuliaQuantum/QuBase.jl/issues/7)).
38 | 6. Quantization of fields.
39 |
40 | 2. Quantum dynamics:
41 |
42 | 1. Schrodinger equations.
43 | 2. Heisenberg equations.
44 | 3. Master equation and open quantum systems.
45 | - [ ] Lindblad form.
46 | - [ ] Bloch-Redfield form.
47 | - [ ] Steady-state solver.
48 | - [ ] Floquet formalism.
49 | - [ ] Non-Markov process solver.
50 | 4. Optical Bloch equations.
51 | 5. Heisenberg- Langevin equations.
52 | 6. Iinput-output formalism.
53 | 7. Quantum Monte Carlo method and quantum trajectories.
54 | 8. Stochastic differential equations
55 | - [ ] Fokker-Planck equations.
56 | - [ ] Gaussian and other forms of noise.
57 | 9. Perturbation theory.
58 | - [ ] Degenerate/non-degenerate cases.
59 | - [ ] Time-dependent/independent cases.
60 | - [ ] Adiabatic quantum evolution (population trapping, Dark states...)
61 | 10. Green function method and many-body systems.
62 | 11. Path integrals.
63 | 12. Dirac equations.
64 |
65 | 3. Quantum measurement and control.
66 | 1. Projective/von Neumann measurements.
67 | 2. POVM.
68 | 3. Spectrum theory.
69 | 4. Quantum tomography.
70 | - [ ] State tomography.
71 | - [ ] Process tomography.
72 | - [ ] Quantum inference.
73 | - [ ] Quantum causality tomography.
74 | - [ ] tomography of quantum fields.
75 | 5. Quantum compress sensing.
76 | 6. Quantum parameter estimation.
77 | 7. Quantum continuous variables and measurements.
78 | 8. Quantum dynamic control.
79 | - [ ] Optimal control.
80 | - [ ] Feedback/feedforward quantum controls.
81 | - [ ] Quantum amplifier and other devices.
82 |
83 | 4. Quantum Information and computation.
84 | 1. Information measures.
85 | - [ ] Amount of information:
86 | - [ ] Shannon entropy.
87 | - [ ] Relative/mutual/marginal entropy.
88 | - [ ] Fisher information.
89 | - [ ] Distance measurements.
90 | - [ ] Trace distance.
91 | - [ ] Fidelity.
92 | - [ ] Accessible information and channel capacity.
93 | 2. Entanglement.
94 | - [ ] Entanglement measures.
95 | - [ ] Distillation.
96 | - [ ] Dilution.
97 | 3. Computational complexity.
98 | 4. Quantum circuit model simulations.
99 | - [ ] Implementations of quantum gates.
100 | 5. Quantum random walk and quantum simulations.
101 | 6. Topological and measurement based quantum computing.
102 | - [ ] Anyons and topological particles.
103 | - [ ] Topological orders.
104 | 7. Quantum error correction
105 | - [ ] Decoherence and error channels (representation and simulations).
106 | - [ ] Bit/phase flip channels.
107 | - [ ] Depolarization channels.
108 | - [ ] Amplitude damping.
109 | - [ ] Phase damping.
110 | - [ ] Quantum Hamming bound and related.
111 | - [ ] Error correction codes (circuit generators).
112 | 8. Fault-tolerant quantum computing analysis.
113 | 9. Quantum algorithms simulations.
114 | - [ ] Quantum Fourier transform.
115 | - [ ] Classical simulation of other quantum algorithms.
116 | 10. Quantum communication and quantum key distribution.
117 | 11. Qbism and Bayesian theory.
118 | 12. Relativistic quantum information (communication).
119 |
120 | 5. Database, coefficients and special functions for quantum.
121 | 1. Clebsch-Gordan coefficients.
122 | 2. 3-j and 6-j symbols.
123 | 3. Atomic/molecular spectral and property database (from NIST and the like).
124 | 4. Delta functions (maybe useful for symbolic calculations).
125 |
126 | 6. Other advanced topics:
127 | 1. Quantum chemistry:
128 | - [ ] Computational chemistry:
129 | - [ ] Molecule dynamics/first-principle calculations.
130 | - [ ] Monte Carlo simulations.
131 | - [ ] Quantum computing in chemistry.
132 | 2. Condensed matter physics.
133 | - [ ] BECs, superconductors, quantum liquid and other extreme states of matter.
134 | - [ ] Mesoscopic physics.
135 | - [ ] Semiconductor and other special materials.
136 | - [ ] Nanophotonics and low-dimensional phenomena.
137 | - [ ] Excited states and luminescence.
138 | - [ ] Quasi-particles and many-body systems.
139 | 3. Atomic physics:
140 | - [ ] Optical lattice.
141 | - [ ] Laser trapping/cooling and optical molasses.
142 | - [ ] Ions and spin chain systems.
143 | - [ ] Atomic chips.
144 | 4. Other topics on quantum and nonlinear optics:
145 | - [ ] Cavity/circuit-QED.
146 | - [ ] Interferometers, beam splitters and other devices.
147 | - [ ] Linear optics for quantum computing.
148 | - [ ] Nonlinear quantum optics and nonclassical light.
149 | 5. High energy and particle physics.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This repo is for discussions and documentations of overall and cross-repo roadmaps for JuliaQuantum projects.
2 |
3 | * The long-term roadmap of library development for the organization is documented in [*LongTerm.md*](https://github.com/JuliaQuantum/Roadmap/blob/master/LongTerm.md).
4 |
5 | * The roadmap for the on-going test-run phase (V0.1) is documented in [*TestRunPhaseV0.1.md*](https://github.com/JuliaQuantum/Roadmap/blob/master/TestRunPhaseV0.1.md).
6 |
7 | Members of JuliaQuantum please help keep these roadmaps updated--whenever the works you or your fellows are doing mark a milestone progress.
8 | All JuliaQuantum members have write access permission to this repo, as well as to the [Resources](https://github.com/JuliaQuantum/Resources) and the [JuliaQuantum.github.io](https://github.com/JuliaQuantum/JuliaQuantum.github.io) repos.
9 |
10 | Discussions regarding these roadmaps are on [the issue page](https://github.com/JuliaQuantum/Roadmap/issues) of this repo.
11 | Especially, suggesting new projects, peer-reviewing of incoming packages and suggesting library coverages are highly encouraged to be posted on the issue forum of this repo.
12 |
13 | Discussions regarding general affairs of the JuliaQuantum organization and its official website content should go to the issue forum of the [JuliaQuantum/JuliaQuantum.github.io](https://github.com/JuliaQuantum/JuliaQuantum.github.io) repo.
14 | Surely, please help announce your progress and thoughts visible to the public on our website (all posts can be easily written in [markdown](https://help.github.com/articles/github-flavored-markdown/)!).
--------------------------------------------------------------------------------
/TestRunPhaseV0.1.md:
--------------------------------------------------------------------------------
1 | After a few rounds of closed discussions and preparations within the steering team of JuliaQuantum, we have formed a rough roadmap for the test-run phase of our projects. I briefly collect some important information and assignments below for followups and feedback. Besides, I would like to sincerely thank Jarrett (jrevels), Alex (acroy), Jutho and Jiahao for their outstanding contributions and dedications to the initiative of JuliaQuantum, for their profound works on building fundamental blocks for our present and future projects, and for their key roles played on turning our needs to the maturity of JuliaLang. For these reasons above but not limited, I have promoted them on the owners’ board of this organization, AKA, the steering team of JuliaQuantum. I believe, through the unremitting efforts of our community, JuliaQuantum will play a significant role on promoting quantum science and technology in the near future.
2 |
3 | 1. Establish one or more fundamental and organizational projects for quantum representation basis and dynamics solvers.
4 | - [x] QuantumBase project for basic quantum representations. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/6).
5 | - [ ] Interface to other relevant packages. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/7) and a discussion on [GSoC project](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/20).
6 | - [ ] Call for Quantum dynamics solvers. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/8) and a discussion on [GSoC project](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/20).
7 |
8 |
9 |
10 | 2. Encourage to share and collaborate on open-source Julia projects based on the existing JuliaQuantum projects through the organization and improve the libraries as a return.
11 | - [x] Update JuliaQuantum website with enriched information. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/9).
12 | - [ ] Rebuild or interface with quantum projects written in other programming languages through collaborations. Also see [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/7) and a discussion on [GSoC project](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/20). Have contacted some QuTiP core developers over emails.
13 | - [ ] Unify documentation interface and the workflow of organizational projects. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/10)
14 | - [x] Organization-wide agreements to be improved and examined in practice. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/3)
15 |
16 | 3. Form an academic consultant committee and a Julia organizational supporting team.
17 | - [x] Academic consulting committee program. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/11). Looking for more people to join.
18 | - [x] Form a functional technical supporting and steering team through working together in practice. (General questions regarding Julia should go to [Julia-user Google discussion group](https://groups.google.com/d/topic/julia-users/).)
19 | - [x] Encourage people to join the professional academic/technical teams through our website and our network. See what you can do... [Ref](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/9). Some nodes of developers groups have been established.
20 |
21 | 4. The second wave of broadcasting our project to a broader public domain -- once we are ready.
22 | - [x] JuliaQuantum will be presented in SQuInT workshop in Berkeley in the coming Febrary. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/12). Videos and slides can be found at [here](http://juliaquantum.github.io/news/2015/03/berkeley-meetup-videos-online).
23 | - [x] JuliaQuantum in the social network. [Details](https://github.com/JuliaQuantum/JuliaQuantum.github.io/issues/13). Google+, twitter and other media interface have been tested and used. Social sharing buttons have been installed on our website.
24 |
25 | 5. Future work for the next organizational milestone. Note: it is good to leave this session open and plan ahead. Here, I collect some preliminary ideas from the discussions with various people. Brainstorms and proposals may be posted under this thread, especially for those with a responsible leader.
26 |
27 | 1. Various Quantum dynamic solvers under JuliaQuantum. Once some building blocks like the [QuBase.jl](https://github.com/JuliaQuantum/QuBase.jl) project are done, and once our members gain broad enough experiences through the interfacing project, we should be able to target at this one. Leaders and candidate projects are still open to propose.
28 |
29 | 2. Quantum control in real time.—We need feedbacks from people who have been committing on similar tasks, and leave this possibility open for future works. In fact, I proposed that we can use Julia for quantum control beyond the technical computing task that Julia was initially aiming at. Collaborating with developer teams of Parallela and other ARM-based open hardware projects might be helpful for this purpose. It seems we are not at that stage yet. Here are two valuable points from Jiahao:
30 |
31 | * ARM support is already in the works and there are several open Julia issues about the work needed. One of the main problems is that ARM support in LLVM and OpenBLAS is not very good and we need time for these libraries to mature in this direction. Another is that systems with ARM chips are much less powerful than their x86 counterparts. Building Julia on Raspberry Pi currently takes 12-16 hours and tends to run out of memory.
32 |
33 | * Real time control is difficult in a garbage-collected language because you cannot predict when the garbage collector will decide to act. This is also a problem in Java. There is an open issue on implementing better garbage collection algorithms in Julia and we are trying to arrange for a student to work full time on this problem.
34 |
35 | 3. Funding source for JuliaQuantum. This time, we have poster presentations in a professional workshop for a project under our org. All the expenses are out of the presenter’s pocket. In the future, we might want to collect some funds to cover those kind of expenses in need to encourage profound activities in our org.
36 |
37 | 4. Bring our projects to more university students and researchers by posting tutorials, blogs and other multimedia demos for teaching and studying in quantum science. We might also be ready to kick start a university/institution program to establish loyal developer and user groups globally, and establish collaborations with various institutes for teaching, utilities and developing. Call for volunteers from now.
38 |
39 | 5. Stabilize a sustainable mechanism of planning, decision-making and executing for our org. May need to extend our core member group to handle much more complicated situations and activities for the future.
40 |
41 | Ideal timeline:
42 |
43 | * Before Middle of Feb, 2015: Finishing the main framework of QuBase.jl and associated projects.
44 |
45 | * Feb 19, 2015: Present our work in the 17th SQuInT workshop. Invite more people to join our organization and network.
46 |
47 | * Around June or so, 2015: Complete the QuBase.jl and registered as an official Julia community package. Gain enough experiences on interfacing with other packages. Get enough working examples and tutorials ready for the next phase. Have a few building blocks for quantum dynamics solvers ready for the next phase. Discuss with the steering team of JuliaQuantum for the future work of the organization.
48 |
--------------------------------------------------------------------------------