We present software tools that support robust input processing and comprehensive testing in Java. The software includes the JPT library that supports error-checked typed input via...
On a distributed memory machine, hand-coded message passing leads to the most efficient execution, but it is difficult to use. Parallelizing compilers can approach the performance...
Industrial applications use specific problem-oriented implementations of large sparse and irregular data structures. Hence there is a need for tools that make it possible for deve...
Self-adjusting computation enables writing programs that can automatically and efficiently respond to changes to their data (e.g., inputs). The idea behind the approach is to stor...
We present wannier90, a program for calculating maximally-localised Wannier functions (MLWF) from a set of Bloch energy bands that may or may not be attached to or mixed with othe...
Arash A. Mostofi, Jonathan R. Yates, Young-Su Lee,...