2.8 KiB
Motivation
![TREXIO logo](/TREX/trexio/media/commit/b7d9f32bfb12e656fceaf83d7a7329f22dc6c2f7/docs/trexio_logo.png)
Quantum chemistry relies on quantum mechanics to explain and predict the properties and behaviors of atoms, molecules, and materials. Although density functional theory (DFT) is one of the most widely used approaches thanks to its excellent ratio between computational cost and accuracy, another important tool is wave function theory (WFT), which describes the behavior of a quantum system in terms of its wave function. In order to perform WFT calculations, it is necessary to manipulate a large number of parameters, such as the expansion coefficients of the wave function and the matrix elements of the Hamiltonian operator. These parameters can be numerous and difficult to handle, making it important to have a robust and efficient method for storing and accessing them.
Reproducible research remains a challenging topic, despite recent advances such as the introduction of the FAIR (findable, accessible, interoperable, reusable) data principles. A key aspect of reproducibility is software interoperability, which refers to the ability of different programs to work together and exchange information, allowing different systems to communicate and exchange data in order to function as a cohesive whole. Interoperable software is prevalent nowadays and is a key component of the Unix philosophy. In Unix shells, the most straightforward application of software interoperability is made through the use of the pipe operator, where the output of a program is the input of another program. Similarly, shell scripts are created through the composition of smaller programs, exchanging data through files or pipes.
A major challenge of reproducible research is the unified input/output (I/O) of data within a particular research domain. The Unix philosophy recommends the use of text files because they are architecture-independent, readable in any language, and can be read as a stream, which is useful for making programs communicate over a network. However, storing data in a text format can result in larger file sizes and conversion from ASCII to binary format can be computationally expensive for large data sets. To address this concern, domain-specific binary formats have been developed, such as the Joint Photographic Experts Group (JPEG) format for digital images and the Moving Picture Experts Group (MPEG) format for videos. These binary formats are utilized through a standardized application programming interface (API).
In the field of wave function theory such a standard format and API is still lacking, and the purpose of the TREXIO library is to fill this gap.