Commit d086308a authored by Yingzhou Li's avatar Yingzhou Li Committed by Victor Yu

Updated documentation

parent 8489f58b
No preview for this file type
......@@ -285,33 +285,33 @@ a variety of iterative solvers through a single interface.
\section{Iterative Eigensolvers Supported by ELSI-RCI}
\label{sec:solvers}
The current version of ELSI-RCI supports Davidson method, orbital
minimization method (OMM), projected preconditioning conjugate gradient
(PPCG) method, and Chebyshev filtering (ChebFilter) method.
Here we give a brief introduction of the solvers currently supported in
ELSI-RCI. For detailed technical descriptions, readers are referred to
original publications of the solvers.
\subsection{Davidson method}
\label{sec:solvers-davidson}
TODO
\subsection{OMM}
\label{sec:solvers-omm}
TODO
\subsection{PPCG}
\label{sec:solvers-ppcg}
TODO
\subsection{ChebFilter}
\label{sec:solvers-chebfilter}
TODO
The current version of ELSI-RCI supports Davidson
method~\cite{Arbenz2016, Davidson1975}, orbital minimization method
(OMM)~\cite{Corsetti2014, Lu2017a}, projected preconditioning
conjugate gradient (PPCG) method~\cite{Vecharynski2015}, and Chebyshev
filtering (ChebFilter) method~\cite{Banerjee2016}. There are many
more references for each method. Here we list the specific reference
for the implementation in ELSI-RCI.
\begin{itemize}
\item Davidson: P. Arbenz, Lecture notes on
solving large scale eigenvalue problems, Chapter 12 (2016)
\item OMM: F. Corsetti. The orbital minimization method for
electronic structure calculations with finite-range atomic basis
sets. Computer Physics Communications, 185(3):873–883 (2014)
\item PPCG: E. Vecharynski, C. Yang, and J. E. Pask. A projected
preconditioned conjugate gradient algorithm for computing
many extreme eigenpairs of a Hermitian matrix. Journal of
Computational Physics, 290:73–89 (2015)
\item ChebFilter: A. S. Banerjee, L. Lin, W. Hu, C. Yang, and J. E.
Pask. Chebyshev polynomial filtered subspace iteration in the
discontinuous Galerkin method for large-scale electronic
structure calculations. The Journal of Chemical Physics,
145(15):154101 (2016)
\end{itemize}
For detailed technical descriptions
of these methods, readers are referred to original publications of
the solvers.
\section{Citing ELSI-RCI}
\label{sec:cite}
......@@ -590,21 +590,22 @@ consistent. This chapter serves as a reference to the ELSI-RCI
routines. The construction of driver is postpone to
Chapter~\ref{cha:driver}.
ELSI-RCI first defines a few enumerations to explicitly declare solvers
and operations used in the package, which will be detailed in
Section~\ref{sec:enum}. Two key data types are defined in ELSI-RCI,
\verbb+rci_instr+ and \verbb+rci_handle+, where the former is
responsible for RCI instruction information and the later is responsible
for RCI solver information. Details of these two data types will be given
in Section~\ref{sec:datatype}. Section~\ref{sec:init} introduces the
initialization of ELSI-RCI. With all these prepared, ELSI-RCI includes
three reverse communication interfaces, i.e., allocation RCI,
deallocation RCI, and eigensolver RCI. Since different solvers use
different number of matrices of different size. Hence allocation RCI and
deallocation RCI, based on solver choice, provide instructions for user
to allocate and deallocate matrices with specific size. These two RCIs
are introduced in Section~\ref{sec:allo}. Finally, the RCI for
eigensolvers is described in Section~\ref{sec:solverrci} in detail.
ELSI-RCI first defines a few enumerations to explicitly declare
solvers and operations used in the package, which will be detailed
in Section~\ref{sec:enum}. Two key data types are defined in
ELSI-RCI, \verbb+rci_instr+ and \verbb+rci_handle+, where the former
is responsible for RCI instruction information and the later is
responsible for RCI solver information. Details of these two data types
will be given in Section~\ref{sec:datatype}. Section~\ref{sec:init}
introduces the initialization of ELSI-RCI. With all these prepared,
ELSI-RCI includes three reverse communication interfaces, i.e.,
allocation RCI, deallocation RCI, and eigensolver RCI. Since different
solvers use different number of matrices of different sizes. Hence
allocation RCI and deallocation RCI, based on solver choice, provide
instructions for user to allocate and deallocate matrices with specific
size. These two RCIs are introduced in Section~\ref{sec:allo}. Finally,
the RCI for eigensolvers is described in Section~\ref{sec:solver}
in detail.
\section{Enumerations in ELSI-RCI}
......@@ -616,7 +617,7 @@ enumerations. Table~\ref{tab:enum} provide enumerations, the underlying
integer values, and explanations. In general, capital letters, $A,B,C$,
denote matrices, $D$ denotes a diagonal matrix; greek letters, $\alpha,
\beta$, denote scalars; script letters, $\calI,\calJ$, denote index set.
Details of these operations will be explained in Section~\ref{sec:op}.
Details of these operations will be explained in Section~\ref{sec:ops}.
\begin{table}[htp]
\centering
......@@ -1565,6 +1566,7 @@ tasks.
\chapter{ELSI-RCI Driver}
\label{cha:driver}
In this chapter, we provide two sequential sample drivers: real case
and complex case. In both cases, we assume the Hamiltonian matrix
......
......@@ -127,3 +127,10 @@
pages={154101},
year={2016}
}
@book{Arbenz2016,
author={Peter Arbenz},
title={Lecture notes on solving large scale eigenvalue problems},
chapter={12},
year={2016}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment