The goal of this project is to establish a new paradigm of scientific software, electing quantum chemistry as the domain science. The new software does not have a static, compiled code, but instead consists of an expert system and code generator. At every execution, it analyzes the hardware and application parameters, determines(parallel) algorithms, and implements them for one-time use. This strategy not only allows unprecedented flexibility in algorithm optimization but can also realize ideas that are impossible otherwise. Since the approach makes no assumption about hardware or application, it is more extensible, maintainable, and portable. It is particularly well suited for chemistry, where a variety of molecules and reactions is infinite.
The expected long-term impact of this project is a change in the way scientific and engineering computing software is developed and defined. It promises novel software technology, which simultaneously achieves development efficiency, high product quality, and increased ability to optimize the code and enhance the methodological capabilities, by having no fixed source code. This project also offers unique, interdisciplinary education for chemistry graduate students, which places exceptionally large focus on computing, the field that has been a driving force of the 21st century economy.
This is an award within the solicitation of Software Infrastructure for Sustained Innovation. The award is co-funded by the Office of Cyberinfrastructure, the Division of Chemistry and the Office of Multidisciplinary Activities.
Software for modern mathematical theories of quantum chemistry is so complex that it can no longer be written by humans. This project aims at fully computerizing its development. It entails not only the computerized program synthesis but also the automatic discoveries and optimizations of underlying algorithms for two of the most difficult parts of quantum chemistry software developments: the evaluation of numerous electron-electron interaction parameters (molecular integrals) and the development of most accurate and complex theories (electron-correlation theories) describing mutually avoiding motion of electrons. For the latter, the project has developed a fully automated scheme that can derive the mathematical equations for a wide variety of theories, generate efficient computational sequences (algorithms) to solve these equations, and then synthesize the corresponding computer codes, which only need to be copied to parent software and compiled. This automated program is made freely available through the PI's website, where there is also an online video tutorial. For the former, a program has been developed that finds the fastest algorithm to evaluate all molecular integrals and then generates the corresponding code for individual problems on a case-by-case basis. Unlike all previous methods for molecular integrals, which propose reasonably efficient algorithms for a typical problem, our method finds the most efficient algorithm tailored to any given problem. Therefore, our method is, in theory and in practice, never less efficient than any of the existing methods for any problem, but is often considerably faster. Furthermore, our method constitutes a new paradigm of scientific software - a codeless software - in which codes are generated on the fly, only after the problem is defined and an optimized tailored algorithm is found. In this new paradigm, the software no longer has a fixed code or executable, but it consists of a small code framework and an expert system that fills it with gigantic computer-optimized and computer-synthesized codes. On the educational front, the PI has also utlized cyberinfrastructure to enhance the learning of undergraduate students in the difficult subject of quantum chemistry and spectroscopy. 37 video lectures have been created by the PI and made available online, which registered students are asked to watch at home and to solve matching problems (mostly derivations of important formulas of quantum chemistry and spectroscopies). During class, students are to show and explain their solutions. In this inverted course, there are more student-student and student-instructor interactions and students are more actively engaged in class. As judged by exam scores, students' learning is enhanced by this method.