Forked from
kwant / kwant
1748 commits behind the upstream repository.
TODO.txt 1.97 KiB
Roughly in order of importance. -*-org-*-
* Define a few benchmarks and check performance. Optimize the code.
* Write a fast tiny array module.
This should speed up many operations in kwant.
* Wrap mumps, umfpack, or some other sparse linear algebra library with Cython.
Use it directly in sparse solver. This will allow to fine-tune the solution
of sparse systems.
* Benchmark mumps and check whether nested dissection would be useful.
If yes, implement it.
* Provide support for plotting LDOS and other functions
of the site in the system. Make a tutorial example for this.
* Allow attaching lead with further than nearest slice hoppings.
The most easy way to do this is increasing the period of the lead.
Alternatively, generalize modes and InfiniteSystem format.
* Optionally show site coordinates when plotting a system.
* Add support for easily adding magnetic field to a system.
* Generalize InfiniteSystem to multiple directions.
* Add support for optimization of lead fundamental domains.
* Write a module to generate "functional" random numbers.
This is a good starting point:
http://www.cs.umbc.edu/~olano/papers/GPUTEA.pdf
* Incorprorate efficient correlated disorder using scipy.spatial.
* Write an RGF/SM solver which uses graph/slicer.
* Implement the C solver interface.
* Wrap TB_SIM as a solver.
* Implement time domain propagation solver, or coordinate with Kruckl, who
wanted to implement it.
* Implement models module, incorporate units into it.
* Improve handling of systems with important additional degrees of freedom.
i.e. spin, or electron-hole (currently two leads need to be introduced per
actual lead, in order to calculate Andreev transport).
* Implement automatic search for discrete symmetries of a tight binding model
and of conservation laws.
* Revisit Symmetry, make it more general (allow for description of other
discrete symmetries, potentially also symmetries which change builder
values).