Welcome to XCFun documentation
XCFun is a library of exchange-correlation (XC) functionals to be used in density-functional theory (DFT) codes. XCFun follows a unique implementation strategy which enables the computation of derivatives of the XC functional kernel up to arbitrary order. It does so by relying on forward-mode automatic differentiation.
Given a new XC functional kernel, its implementation with all its derivatives only requires to write code for the undifferentiated kernel. This implementation strategy is very powerful and allows:
- Faster implementation of new functionals: you write the kernel, the compiler does the rest.
- Introduction of new variables, for example current densities, in the parametrization of new or existing XC kernels.
- Testing for numerical stability of XC kernels, using arbitrary precision arithmetic libraries.
.. toctree:: :maxdepth: 2 building.rst using.rst migration.rst api.rst functionals.rst changelog.md