examples | |
driver_ksdft.c | Example for using the new driver interface for performing KSDFT calculations |
driver_pselinv_complex.c | Example for using the driver interface for parallel selected inversion of a complex symmetric matrix |
driver_pselinv_real.c | Example for using the driver interface for parallel selected inversion of a real symmetric matrix |
run_inertia.cpp | Test routine for computing a series of inertia for a matrix stencil. This can be used for estimating the density of states in a local region, when diagonalization is too expensive but factorization is still possible |
run_pselinv.cpp | Test for the interface of SuperLU_DIST and SelInv |
fortran | |
f_driver_ksdft.f90 | FORTRAN version of the driver for solving KSDFT |
f_driver_pselinv_complex.f90 | FORTRAN version of the driver for using PSelInv for complex symmetric matrices |
f_driver_pselinv_real.f90 | FORTRAN version of the driver for using PSelInv for real symmetric matrices |
f_interface.f90 | FORTRAN interface for PEXSI library using ISO_C_BINDING |
include | |
blas.hpp | Thin interface to BLAS |
c_pexsi_interface.h | Interface subroutines of PEXSI that can be called by C |
c_pexsi_interface_old.h | Interface subroutines of PEXSI that can be called by C |
environment.hpp | Environmental variables |
lapack.hpp | Thin interface to LAPACK |
mpi_interf.hpp | Interface with MPI to facilitate communication |
NumMat.hpp | Numerical matrix |
NumMat_impl.hpp | Implementation of numerical matrix |
NumTns.hpp | Numerical tensor |
NumTns_impl.hpp | Implementation of numerical tensor |
NumVec.hpp | Numerical vector |
NumVec_impl.hpp | Implementation of Numerical Vector |
pole.hpp | Pole expansion subroutines |
ppexsi.hpp | Main class for parallel PEXSI |
ppexsi_old.hpp | Main class for parallel PEXSI |
pselinv.hpp | Main file for parallel selected inversion |
pselinv_impl.hpp | Implementation of the parallel SelInv |
sparse_matrix.hpp | Sparse matrix and Distributed sparse matrix in compressed column format |
sparse_matrix_impl.hpp | Implementation of sparse matrices |
superlu_dist_interf.hpp | Interface with SuperLU_Dist (version 3.0 and later) |
superlu_dist_internal.hpp | Internal structures for interfacing with SuperLU_Dist (version 3.0 and later) |
SuperLUGrid.hpp | SuperLU processor grid |
SuperLUGrid_impl.hpp | Implementation of SuperLU processor grid |
SuperLUMatrix.hpp | Wrapper class for SuperLU internal data structures |
SuperLUMatrix_impl.hpp | Implementation of the wrapper class for SuperLU internal data structures |
timer.h | Profiling and timing using TAU |
tinyvec.hpp | Tiny vectors of dimension 3 |
tinyvec_impl.hpp | Implementation of tiny vectors |
utility.hpp | Various utility subroutines |
utility_impl.hpp | Implementation of utility subroutines |
src | |
blas.cpp | Thin interface to BLAS |
get_perm_c_parmetis.c | Gets matrix permutation |
interface.cpp | Interface subroutines of PPEXSI that can be called by both C and FORTRAN |
interface_old.cpp | Interface subroutines of PPEXSI that can be called by both C and FORTRAN |
lapack.cpp | Thin interface to LAPACK |
mpi_interf.cpp | Interface with MPI to facilitate communication |
pdsymbfact.c | Symbolic factorization routine using real arithmetic |
pole.cpp | Implementation of the pole expansion subroutines |
ppexsi.cpp | Implementation of the parallel PEXSI |
ppexsi_old.cpp | Implementation of the parallel PEXSI |
ppexsi_real_old.cpp | Real arithmetic routines related to SuperLU_DIST |
pzsymbfact.c | Symbolic factorization routine using complex arithmetic |
sp_ienv.c | Chooses machine-dependent parameters for the local environment |
superlu_dist_internal_complex.cpp | Implementation of internal structures for interfacing with SuperLU_Dist (version 3.0 and later) for complex arithmetic |
superlu_dist_internal_real.cpp | Implementation of internal structures for interfacing with SuperLU_Dist (version 3.0 and later) for real arithmetic |
timer.cpp | Profiling and timing using TAU |
utility.cpp | Implementation of the non-templated utility subroutines |