 documentation | |
  source | |
   mainpage.h | Main page in documentation |
 source | |
  basisset | |
   basisinfo.cc | Code for setting up basis functions starting from shells |
   basisinfo.h | Code for setting up basis functions starting from shells |
   basisset.cc | Code for representing basis set information for Gaussian basis sets, and for parsing a text file specifying such a basisset |
   basisset.h | Code for representing basis set information for Gaussian basis sets, and for parsing a text file specifying such a basisset |
  ci | |
   ci.cc | Configuration Interaction (CI) code |
   ci.h | Configuration Interaction (CI) code |
  densfromf | |
   recursive_expansion | |
    eigenvectors | |
     src | |
      get_eigenvectors.h | Defined namespace eigvec containing functions for computing largest eigenvalues and corresponding eigenvectors using the power method or the Lanczos method |
     test | |
      test.cc | |
    src | |
     constants.h | File contataining definitions of constants used in the recursive expansion |
     puri_info.cc | File containing definitions of functions declared in classes IterationInfo and PuriInfo |
     puri_info.h | File containing classes IterationInfo and PuriInfo |
     purification_general.cc | File contataining definitions of various variable used in the recursive density matrix expansion (or density matrix purification) |
     purification_general.h | Recursive density matrix expansion (or density matrix purification) |
     purification_sp2.h | SP2 recursive density matrix expansion (or density matrix purification) |
     purification_sp2acc.h | SP2ACC (SP2 accelerated) recursive density matrix expansion (or density matrix purification) |
     random_matrices.cc | File containing definitions of functions required for testing purposes |
     random_matrices.h | Header file containing declarations of functions required for testing purposes |
   densfromf_full.cc | Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization |
   densfromf_full.h | Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization |
   GetDensFromFock.cc | Routines for getting density matrix from a given Fock matrix |
   GetDensFromFock.h | Routines for getting density matrix from a given Fock matrix |
  dft | |
   aos.cc | Blocked version of orbtial evaluation routines |
   aos.h | Blocked version of orbtial evaluation routines |
   cubature_rules.cc | Code for various cubature rules that can be used for numerical integration |
   cubature_rules.h | Code for various cubature rules that can be used for numerical integration |
   dft.h | Definitions exported by the DFT module |
   dft_common.cc | Common DFT routines |
   dft_common.h | Common DFT routines |
   fun-becke.c | Implementation of Becke(88) functional and its derivatives |
   fun-cam.c | General CAM functional |
   fun-gga.c | Implementation of a functional being a linear combination of other functionals |
   fun-kt.c | Implementation of KT functional and its derivatives |
   fun-lb94.c | LB94 implementation |
   fun-lyp.c | Implementation of LYP functional and its derivatives |
   fun-optx.c | Implementation of OPTX exchange functional and its derivatives |
   fun-p86c.c | P86c implementation |
   fun-pbec.c | PBEc implementation |
   fun-pbex.c | PBEx implementation |
   fun-pw86x.c | The PW86 exchange functional and its derivative |
   fun-pw91c.c | PW91C implementation |
   fun-pw91x.c | PW91X implementation |
   fun-pw92c.c | PW92C functional implementation |
   fun-pz81.c | Partially automatically generated PZ81 functional |
   fun-slater.c | Implementation of Slater functional and its derivatives |
   fun-tester.cc | Program for testing functional routines in the DFT module |
   fun-vwn.c | Implementation of VWN functional and its derivatives |
   functionals.c | General functional selection and input processing |
   functionals.h | Functional library interface |
   grid_atomic.cc | Implements radial grid generators |
   grid_atomic.h | Implements shared parts of the grid generation code |
   grid_hicu.cc | Hierarchical Cubature (HiCu) grid generation |
   grid_hicu.h | Hierarchical Cubature (HiCu) grid generation |
   grid_interface.h | Grid Generator interface |
   grid_matrix.h | Generic matrix interface |
   grid_params.h | Code organizing various settings related to grids used for numerical integration |
   grid_reader.cc | Grid Generator interface |
   grid_reader.h | Grid Generator interface |
   grid_stream.cc | This is a streaming version of the linearly-scaling grid generator |
   grid_stream.h | Streaming grid generator |
   integrator.cc | The DFT integrator |
   integrator.h | The DFT integrator interface |
   lebedev_laikov.cc | Evaluate angular grid of requested order |
   lebedev_laikov.h | Headers of lebedev_laikov.c |
   lin_trans.cc | Blocked DFT Linear Response contribution evaluator |
   lin_trans.h | Blocked DFT Linear Response contribution evaluator |
   rho-mat.cc | Functions for density and gradient evaluation |
   rho-mat.h | Density and gradient evaluation interface |
   sparse_matrix.cc | The implementation of sparse matrix optimized for XC integration |
   sparse_matrix.h | Declares a sparse matrix optimized for the XC code |
   sparse_pattern.cc | Class that can be used to store sparse matrix patterns |
   sparse_pattern.h | Class that can be used to store sparse matrix patterns |
   xc_evaluators.h | Defines LDA and GGA evaluators that work both for dense and sparse matrices |
   xc_matrix.cc | The XC matrix evaluator |
   xc_matrix.h | Interface of xc_matrix.cc |
   xc_matrix_sparse.cc | The sparse XC matrix evaluator |
   xc_matrix_sparse.h | The sparse XC matrix evaluator |
  electron_dynamics | |
   electron_dynamics.h | Parameters related to TDHF electron dynamics |
   tdhf_dynamics.cc | Implementation of TDHF electron dynamics, explicitly propagating the electron density in time in the precence of a time-dependent electric field |
   tdhf_dynamics.h | Implementation of TDHF electron dynamics, explicitly propagating the electron density in time in the precence of a time-dependent electric field |
  integrals | |
   basis_func_extent.cc | Code for determining extent of basis functions, for 2-electron integral evaluation |
   basis_func_extent.h | Code for determining extent of basis functions, for 2-electron integral evaluation |
   basis_func_extent_1el.cc | Code for determining extent of basis functions, for 1-electron integral evaluation |
   basis_func_extent_1el.h | Code for determining extent of basis functions, for 1-electron integral evaluation |
   basis_func_pair_list.cc | Functions for setting up lists of non-negligible basis function pairs, for 2-electron integrals |
   basis_func_pair_list.h | Functions for setting up lists of non-negligible basis function pairs, for 2-electron integrals |
   basis_func_pair_list_1el.cc | Functions for setting up lists of non-negligible basis function pairs, for 1-electron integrals |
   basis_func_pair_list_1el.h | Functions for setting up lists of non-negligible basis function pairs, for 1-electron integrals |
   box_system.cc | BoxSystem class representing a hierarchical data structure of boxes in 3D space (an oct-tree) |
   box_system.h | BoxSystem class representing a hierarchical data structure of boxes in 3D space (an oct-tree) |
   boysfunction.cc | Code for Boys function evaluation |
   boysfunction.h | Code for Boys function evaluation |
   exponent_list.cc | ExponentList class for keeping track of a set of unique exponents in Gaussian functions, together with a max coefficient value for each exponent |
   exponent_list.h | ExponentList class for keeping track of a set of unique exponents in Gaussian functions, together with a max coefficient value for each exponent |
   hermite_conversion_explicit.cc | Code for explicitly computing the matrix for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, for given nmax and exponent values |
   hermite_conversion_explicit.h | Code for explicitly computing the matrix for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, for given nmax and exponent values |
   hermite_conversion_prep.cc | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using saved information from a preparatory step that can be done once and re-used many times |
   hermite_conversion_prep.h | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using saved information from a preparatory step that can be done once and re-used many times |
   hermite_conversion_symb.cc | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using a symbolic conversion matrix |
   hermite_conversion_symb.h | Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians, using a symbolic conversion matrix |
   integral_info.cc | Defines IntegralInfo object, providing the coefficients needed for integral evaluation |
   integral_info.h | Defines IntegralInfo object, providing the coefficients needed for integral evaluation |
   integrals_1el.cc | Code for 1-electron integrals; dense matrix variant of H_core matrix computation |
   integrals_1el.h | Code for 1-electron integrals; dense matrix variant of H_core matrix computation |
   integrals_1el_kinetic.cc | Code for 1-electron integrals, computation of kinetic-energy matrix T |
   integrals_1el_kinetic.h | Code for 1-electron integrals, computation of kinetic-energy matrix T |
   integrals_1el_potential.cc | Code for 1-electron integrals, computation of electron-nuclear potential energy matrix V |
   integrals_1el_potential.h | Code for 1-electron integrals, computation of electron-nuclear potential energy matrix V |
   integrals_1el_potential_prep.cc | Code for 1-electron integrals, preparatory work for computation of electron-nuclear potential energy matrix V |
   integrals_1el_potential_prep.h | Code for 1-electron integrals, preparatory work for computation of electron-nuclear potential energy matrix V |
   integrals_1el_single.cc | Functionality for computing a single 1-electron integral, for a given primitive Gaussian distribution and a given point charge |
   integrals_1el_single.h | Functionality for computing a single 1-electron integral, for a given primitive Gaussian distribution and a given point charge |
   integrals_2el.h | Parameters related to integral evaluation |
   integrals_2el_boxed.cc | Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single box |
   integrals_2el_boxed.h | Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single box |
   integrals_2el_explicit.cc | Code for explicit computation of 4-index 2-electron integrals |
   integrals_2el_explicit.h | Code for explicit computation of 4-index 2-electron integrals |
   integrals_2el_J.cc | Code for computing the Coulomb matrix J |
   integrals_2el_J.h | Code for computing the Coulomb matrix J |
   integrals_2el_J_kernel.cc | Code for computational kernel for computing the Coulomb matrix J |
   integrals_2el_J_kernel.h | Code for computational kernel for computing the Coulomb matrix J |
   integrals_2el_J_mm_kernel.cc | Code for multipole method computational kernel for computing the Coulomb matrix J |
   integrals_2el_J_mm_kernel.h | Code for multipole method computational kernel for computing the Coulomb matrix J |
   integrals_2el_J_mm_utils.cc | Utility functions related to multipole method, used in construction of the Coulomb matrix J |
   integrals_2el_J_mm_utils.h | Utility functions related to multipole method, used in construction of the Coulomb matrix J |
   integrals_2el_K.cc | Code for computing the Hartree-Fock exchange matrix K |
   integrals_2el_K.h | Code for computing the Hartree-Fock exchange matrix K |
   integrals_2el_K_kernel.cc | Code for computational kernel for computing the Hartree-Fock exchange matrix K |
   integrals_2el_K_kernel.h | Code for computational kernel for computing the Hartree-Fock exchange matrix K |
   integrals_2el_K_prep.cc | Code for preparing for computation of the Hartree-Fock exchange matrix K |
   integrals_2el_K_prep.h | Code for preparing for computation of the Hartree-Fock exchange matrix K |
   integrals_2el_K_prep_groups.cc | Code for preparing basis function group information to be used for computing the Hartree-Fock exchange matrix K |
   integrals_2el_K_prep_groups.h | Code for preparing basis function group information to be used for computing the Hartree-Fock exchange matrix K |
   integrals_2el_layer.cc | Functions for computing dense Coulomb and HF exchange matrices |
   integrals_2el_layer.h | Functions for computing dense Coulomb and HF exchange matrices |
   integrals_2el_repeating.cc | Functionality for keeping track of certain kinds of integrals that are computed repeatedly, saving the computed values instead of recomputing them |
   integrals_2el_repeating.h | Functionality for keeping track of certain kinds of integrals that are computed repeatedly, saving the computed values instead of recomputing them |
   integrals_2el_single.cc | Functionality for computing a single 2-electron integral, for two given primitive Gaussian distributions |
   integrals_2el_single.h | Functionality for computing a single 2-electron integral, for two given primitive Gaussian distributions |
   integrals_2el_util_funcs.cc | Code for utility functions used by 2-electron integral computation (i.e |
   integrals_2el_util_funcs.h | Code for utility functions used by 2-electron integral computation (i.e |
   integrals_2el_utils.cc | Code for various utilities used by 2-electron integral computation (i.e |
   integrals_2el_utils.h | Code for various utilities used by 2-electron integral computation (i.e |
   integrals_general.cc | General functionality related to computation of integrals involving Gaussian basis functions |
   integrals_general.h | General functionality related to computation of integrals involving Gaussian basis functions |
   integrals_hermite.cc | Code for computation of Coulomb integrals of Hermite Gaussians, using the the McMurchie-Davidson scheme as described in the book "Molecular electronic-structure theory" by Trygve Helgaker, Poul Jorgensen, and Jeppe Olsen |
   integrals_hermite.h | Code for computation of Coulomb integrals of Hermite Gaussians, using the the McMurchie-Davidson scheme as described in the book "Molecular electronic-structure theory" by Trygve Helgaker, Poul Jorgensen, and Jeppe Olsen |
   matrix_norm.cc | Code for computing Euclidean norm of a dense matrix |
   matrix_norm.h | Code for computing Euclidean norm of a dense matrix |
   mm_limit_table.cc | MMLimitTable class used to predict the magnitude of contributions when using truncated multipole expansions |
   mm_limit_table.h | MMLimitTable class used to predict the magnitude of contributions when using truncated multipole expansions |
   monomial_info.cc | Code used to organize monomials; contributions like x, y, z, xy, xz etc |
   monomial_info.h | Code used to organize monomials; contributions like x, y, z, xy, xz etc |
   multipole.cc | Code for computing multipole moments, and multipole interaction and translation matrices |
   multipole.h | Code for computing multipole moments, and multipole interaction and translation matrices |
   multipole_prep.cc | This file contains preparatory stuff for computing multipole moments and related things |
   multipole_prep.h | This file contains preparatory stuff for computing multipole moments and related things |
   operator_matrix.cc | Functions for computing the matrix of a dipole/quadrupole/etc operator |
   operator_matrix.h | Functions for computing the matrix of a dipole/quadrupole/etc operator |
   organize_distrs.cc | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products); the distributions are grouped according to their location in space, their exponents, etc |
   organize_distrs.h | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products); the distributions are grouped according to their location in space, their exponents, etc |
   organize_distrs_mm.cc | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products) regarding information related to multipole methods |
   organize_distrs_mm.h | Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products) regarding information related to multipole methods |
   serialization_tools.h | Tools to simplify serialization of e.g |
   simple_sparse_mat.cc | Simple sparse matrix implementation |
   simple_sparse_mat.h | Simple sparse matrix implementation |
  matrix | |
   gemm_sse | |
    common.h | Macros for inlining and static assertions and structs for access to matrix elements specifying the layout of matrix entries in memory |
    g_intrin.h | Templates for convenient access to intrinsic instructions |
    gemm_sse.h | Generalized matrix matrix multiplication using SSE intrinsics |
    mm_kernel_inner_sse2_A.h | Templates for efficient gemm kernels |
    mm_kernel_outer_A.h | Templates for efficient gemm kernels |
    vector_intrin.h | Vector template for convenient access to SIMD operations |
   template_lapack | |
    blas | |
     template_blas_asum.h | |
     template_blas_axpy.h | |
     template_blas_basicmath.cc | |
     template_blas_basicmath.h | |
     template_blas_common.cc | |
     template_blas_common.h | |
     template_blas_copy.h | |
     template_blas_dot.h | |
     template_blas_gemm.h | |
     template_blas_gemv.h | |
     template_blas_ger.h | |
     template_blas_idamax.h | |
     template_blas_nrm2.h | |
     template_blas_num_limits.h | |
     template_blas_rot.h | |
     template_blas_scal.h | |
     template_blas_spmv.h | |
     template_blas_spr.h | |
     template_blas_spr2.h | |
     template_blas_swap.h | |
     template_blas_symm.h | |
     template_blas_symv.h | |
     template_blas_syr2.h | |
     template_blas_syr2k.h | |
     template_blas_syrk.h | |
     template_blas_test.cc | |
     template_blas_test_threaded.cc | |
     template_blas_tpmv.h | |
     template_blas_tpsv.h | |
     template_blas_trmm.h | |
     template_blas_trmv.h | |
     template_blas_trsm.h | |
     template_blas_trsv.h | |
    lapack | |
     template_lapack_common.cc | |
     template_lapack_common.h | |
     template_lapack_geqr2.h | |
     template_lapack_geqrf.h | |
     template_lapack_gesv.h | |
     template_lapack_getf2.h | |
     template_lapack_getrf.h | |
     template_lapack_getrs.h | |
     template_lapack_ggbak.h | |
     template_lapack_ggbal.h | |
     template_lapack_ggev.h | |
     template_lapack_gghrd.h | |
     template_lapack_hgeqz.h | |
     template_lapack_isnan.h | |
     template_lapack_labad.h | |
     template_lapack_lacon.h | |
     template_lapack_lacpy.h | |
     template_lapack_ladiv.h | |
     template_lapack_lae2.h | |
     template_lapack_laebz.h | |
     template_lapack_laev2.h | |
     template_lapack_lag2.h | |
     template_lapack_lagtf.h | |
     template_lapack_lagts.h | |
     template_lapack_laisnan.h | |
     template_lapack_laln2.h | |
     template_lapack_lamch.h | |
     template_lapack_laneg.h | |
     template_lapack_lange.h | |
     template_lapack_lanhs.h | |
     template_lapack_lanst.h | |
     template_lapack_lansy.h | |
     template_lapack_lapy2.h | |
     template_lapack_lapy3.h | |
     template_lapack_lar1v.h | |
     template_lapack_larf.h | |
     template_lapack_larfb.h | |
     template_lapack_larfg.h | |
     template_lapack_larft.h | |
     template_lapack_larnv.h | |
     template_lapack_larra.h | |
     template_lapack_larrb.h | |
     template_lapack_larrc.h | |
     template_lapack_larrd.h | |
     template_lapack_larre.h | |
     template_lapack_larrf.h | |
     template_lapack_larrj.h | |
     template_lapack_larrk.h | |
     template_lapack_larrr.h | |
     template_lapack_larrv.h | |
     template_lapack_lartg.h | |
     template_lapack_laruv.h | |
     template_lapack_lascl.h | |
     template_lapack_laset.h | |
     template_lapack_lasq2.h | |
     template_lapack_lasq3.h | |
     template_lapack_lasq4.h | |
     template_lapack_lasq5.h | |
     template_lapack_lasq6.h | |
     template_lapack_lasr.h | |
     template_lapack_lasrt.h | |
     template_lapack_lasv2.h | |
     template_lapack_laswp.h | |
     template_lapack_latrd.h | |
     template_lapack_latrs.h | |
     template_lapack_org2l.h | |
     template_lapack_org2r.h | |
     template_lapack_orgql.h | |
     template_lapack_orgqr.h | |
     template_lapack_orgtr.h | |
     template_lapack_orm2r.h | |
     template_lapack_ormqr.h | |
     template_lapack_pocon.h | |
     template_lapack_potf2.h | |
     template_lapack_potrf.h | |
     template_lapack_pptrf.h | |
     template_lapack_rscl.h | |
     template_lapack_spgst.h | |
     template_lapack_stebz.h | |
     template_lapack_stein.h | |
     template_lapack_stemr.h | |
     template_lapack_steqr.h | |
     template_lapack_sterf.h | |
     template_lapack_stevr.h | |
     template_lapack_stevx.h | |
     template_lapack_syev.h | |
     template_lapack_sygs2.h | |
     template_lapack_sygst.h | |
     template_lapack_sygv.h | |
     template_lapack_sytd2.h | |
     template_lapack_sytrd.h | |
     template_lapack_test.cc | |
     template_lapack_test_threaded.cc | |
     template_lapack_tgevc.h | |
     template_lapack_tptri.h | |
     template_lapack_trti2.h | |
     template_lapack_trtri.h | |
   allocate.cc | Code for memory allocation/deallocation routines used by matrix library |
   allocate.h | Code for memory allocation/deallocation routines used by matrix library |
   Allocator.h | Code for Allocator class used for memory allocation/deallocation in matrix library |
   AllocatorManager.cc | Code for AllocatorManager that is used to allocate memory for submatrices in the hierarchical matrix library |
   AllocatorManager.h | Code for AllocatorManager class used for memory allocation/deallocation in matrix library |
   API_test.cc | Test of the matrix library |
   bench.cc | Benchmark of the matrix library |
   bench_gemm_only.cc | Benchmark of the matrix library with input parameters specifying block sizes, parallel level etc |
   bisection.h | Bisection method |
   blastime.cc | Benchmark code for matrix-matrix multiplication (gemm) operation, measuring timings for different matrix sizes |
   DebugPolicies.h | Classes describing debug policies with different debug levels |
   Failure.h | The Failure class is used for exception handling |
   FileWritable.cc | Implementation of the abstract class FileWritable for simple writing and reading of objects to/from file |
   FileWritable.h | Abstract class for simple writing and reading of objects to/from file |
   general.h | Some general utilities used by other parts of the hierarchical matrix library |
   Interval.h | Interval class |
   Lanczos.h | Class for building Krylov subspaces with the Lanczos method |
   LanczosLargestMagnitudeEig.h | Class for computing the largest magnitude eigenvalue of a symmetric matrix with the Lanczos method |
   LanczosSeveralLargestEig.h | Class for computing several largest (note: not by magnitude) eigenvalues of a symmetric matrix with the Lanczos method |
   mat_gblas.cc | Global variables related to timekeeping for matrix operations |
   mat_gblas.h | C++ interface to a subset of BLAS and LAPACK |
   mat_utils.h | Utilities used by other parts of the hierarchical matrix library |
   matInclude.cc | Some utilities related to hierarchical matrix library |
   matInclude.h | Copyright(c) Emanuel Rubensson 2006 |
   Matrix.h | The heart of the matrix library |
   matrix_proxy.h | Proxy structs used by the matrix API |
   MatrixBase.h | Base class for matrix API |
   MatrixGeneral.h | General matrix class |
   MatrixHierarchicBase.h | Base class for Matrix |
   MatrixSymmetric.h | Symmetric matrix class |
   MatrixTriangular.h | Triangular matrix class |
   MatrixTridiagSymmetric.h | Class for tridiagonal symmetric matrices |
   Memory_buffer_thread.cc | Code for managing aligned memory buffers, used if SSE intrinsics enabled |
   Memory_buffer_thread.h | Code for managing aligned memory buffers, used if SSE intrinsics enabled |
   Perturb_Test.cc | Test of the denaity matrix perturbation iterations |
   Perturbation.h | Perturbation theory class |
   SizesAndBlocks.cc | Class used to keep track of the block sizes used at different levels in the hierarchical matrix data structure |
   SizesAndBlocks.h | Class used to keep track of the block sizes used at different levels in the hierarchical matrix data structure |
   sort.h | A quicksort implementation |
   TC2.h | Trace correcting purification class |
   test_LanczosSeveralLargestEig.cc | Code for testing functionality for somputing several eigenpairs using the Lanczos method |
   test_vector.cc | Test code testing creation of vector objects using the hierarchical vector data structure in the hierarchical matrix library |
   testOmpFail.cc | Test code designed to detect a certain kind of compiler bug that appeared when certain compilers are used with OpenMP |
   truncation.h | Classes for truncation of small matrix elements |
   ValidPtr.h | Smart pointer class to control access to object |
   Vector.h | Copyright(c) Emanuel Rubensson 2006 |
   VectorGeneral.h | General vector class |
   VectorHierarchicBase.h | Base class for Vector |
  scf | |
   diis_general.cc | General DIISManager class that can be used as a base class in implementations of direct inversion in the iterative subspace (DIIS) for restricted and unrestricted cases |
   diis_general.h | General DIISManager class that can be used as a base class in implementations of direct inversion in the iterative subspace (DIIS) for restricted and unrestricted cases |
   diis_restricted.cc | DIISManagerRestricted class implementing direct inversion in the iterative subspace (DIIS) for restricted SCF calculations |
   diis_restricted.h | DIISManagerRestricted class implementing direct inversion in the iterative subspace (DIIS) for restricted SCF calculations |
   diis_unrestricted.cc | DIISManagerUnrestricted class implementing direct inversion in the iterative subspace (DIIS) for unrestricted SCF calculations |
   diis_unrestricted.h | DIISManagerUnrestricted class implementing direct inversion in the iterative subspace (DIIS) for unrestricted SCF calculations |
   scf.cc | Code for classes containing various options related to self-consistent field (SCF) calculations |
   scf.h | Code for classes containing various options related to self-consistent field (SCF) calculations |
   SCF_general.cc | Class for self-consistent field (SCF) procedure; base class that can be used for both restricted and unrestricted cases |
   SCF_general.h | Class for self-consistent field (SCF) procedure; base class that can be used for both restricted and unrestricted cases |
   SCF_restricted.cc | Class for self-consistent field (SCF) procedure; spin-restricted case |
   SCF_restricted.h | Class for self-consistent field (SCF) procedure; spin-restricted case |
   SCF_statistics.cc | Class for keeping timings and other statistics related to self-consistent field (SCF) procedure |
   SCF_statistics.h | Class for keeping timings and other statistics related to self-consistent field (SCF) procedure |
   SCF_unrestricted.cc | Class for self-consistent field (SCF) procedure; spin-unrestricted case |
   SCF_unrestricted.h | Class for self-consistent field (SCF) procedure; spin-unrestricted case |
   scf_utils.cc | Various utilities used by self-consistent field (SCF) code |
   scf_utils.h | Various utilities used by self-consistent field (SCF) code |
  test | |
   basicmath_test.cc | Tests some basic math functions such as template_blas_sqrt() template_blas_log() etc to see that they are working properly and that they deliver the expected accuracy |
   boys_function_test.cc | Tests the Boys function evaluation accuracy |
   csr_matrix_test.cc | Tests the CSR matrix functionality in utilities_basic/csr_matrix by e.g |
   explicit_integral_test.cc | Tests the explicit computation of 2-electron integrals by moving basis functions by small distances and verifying that the computed 2-el integrals vary smoothly |
   gradient_test.cc | Tests the gradient computation |
   grid_test.cc | Tests the DFT grid generation |
   jmat_extrapolate_test.cc | Tests the error extrapolation scheme for the Coulomb matrix |
   jmat_test.cc | Tests the sparse Coulomb matrix construction |
   kmat_nosymm_test.cc | Tests the sparse exchange matrix construction for non-symmetric density matrices |
   kmat_symm_test.cc | |
   kmat_test.cc | Tests the sparse exchange matrix construction |
   lapack_test.cc | Tests some LAPACK functions such as template_lapack_???() etc to see that they are working properly and that they deliver the expected accuracy |
   many_h_atoms_test.cc | Tests the simple case of many well-separated H atoms with just one basis function for each atom |
   mat_performance_test.cc | Performs some matrix-matrix multiplication operations and outputs timings |
   mat_thread_test.cc | Performs some matrix operations and outputs timings |
   matmem_test.cc | Tests matrix library memory usage |
   mmul_rectangular_test.cc | Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation, for rectangular matrices |
   mmul_simple_many_test.cc | Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation |
   mmul_simple_test.cc | Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation |
   naive_response_test.cc | Tests naive implementation of linear response calculation |
   recexp_diag_test.cc | Test serial recursive expansion on a diagonal matrix |
   recexp_eigenv_test.cc | Test serial recursive expansion and computation of homo and lumo eigenvectors of a diagonal matrix with given eigenspectrum |
   recexp_randsym_test.cc | Test serial recursive expansion on a random matrix |
   recexp_sprandsym.cc | Test serial recursive expansion and computation of homo and lumo eigenvectors of a sparse matrix with a given eigenspectrum |
   recexp_test.cc | Test serial recursive expansion on a random symmetric matrix or matrix from a given binary file |
   registration.cc | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
   registration.h | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
   simple_ort_puri_test.cc | Performs some simple tests of density matrix purification in orthogonal basis using artificialy generated input matrices |
   stream_test.cc | Tests the streaming grid generator |
   tmat_test.cc | Tests the kinetic energy matrix construction |
   vmat_test.cc | Tests the potential energy matrix construction |
   xcmat_nan_inf_test.cc | Tests that the DFT XC matrix construction does not result in "nan" or "inf" values |
   xcmat_r_u_test.cc | Tests the DFT XC matrix construction |
   xcmat_sparse_test.cc | Tests the sparse XC matrix construction |
   xcmat_test.cc | Tests the DFT XC matrix construction |
  utilities | |
   density_description_file.cc | An interface file for writing and reading density matrices to/from a file, including basis set information |
   density_description_file.h | An interface file for writing and reading density matrices to/from a file, including basis set information |
   density_projection.cc | Functionality for preparing a starting guess density matrix given a previous density matrix |
   density_projection.h | Functionality for preparing a starting guess density matrix given a previous density matrix |
   densitymanager.cc | Functionality for working with the electron density as a function of space, for a given basis set and density matrix |
   densitymanager.h | Functionality for working with the electron density as a function of space, for a given basis set and density matrix |
   dipole_moment.cc | Functionality for computing the dipole moment of a molecule for a given density matrix |
   dipole_moment.h | Functionality for computing the dipole moment of a molecule for a given density matrix |
   integral_matrix_wrappers.cc | Wrapper routines for different parts of the integral code, including conversion of matrices from/to the hierarchical matrix library (HML) format |
   integral_matrix_wrappers.h | Wrapper routines for different parts of the integral code, including conversion of matrices from/to the hierarchical matrix library (HML) format |
   mat_acc_extrapolate.h | Functionality for performing a scan testing different threshold values for some kind of matrix computation |
   matrix_utilities.cc | Utilities related to the hierarchical matrix library (HML), including functions for setting up permutations of basis functions to increase data locality in the hierarchical matrix data structure |
   matrix_utilities.h | Utilities related to the hierarchical matrix library (HML), including functions for setting up permutations of basis functions to increase data locality in the hierarchical matrix data structure |
   simple_lanczos.cc | Simple implementation of the Lanczos method |
   simple_lanczos.h | Simple implementation of the Lanczos method |
  utilities_basic | |
   file_tools | |
    src | |
     files_dense.cc | File containing definition of functions for reading/writing dense matrices and vectors |
     files_dense.h | File containing declaration of functions for reading/writing dense matrices and vectors |
     files_sparse.cc | File containing definitions of functions for reading/writing sparse matrices from/to mtx (MatrixMarket format) files |
     files_sparse.h | File containing declarations of functions for reading/writing sparse matrices from/to mtx (MatrixMarket format) files |
     files_sparse_bin.cc | File containing definitions of functions for reading/writing sparse matrices from/to binary files |
     files_sparse_bin.h | File containing declaration of functions for reading/writing sparse matrices from/to binary files |
     mmio.c | Matrix Market I/O library for ANSI C |
     mmio.h | Matrix Market I/O library for ANSI C |
    test | |
     test.cc | File containg tests for reading/writing sparse matrices from/to mtx files and dense matrices from/to binary files |
   atom_labels.cc | Provides a way to map atom labels to their charges |
   atom_labels.h | Provides a way to map atom labels to their charges |
   barrier.c | Implements a pthread-compatible barrier |
   barrier.h | Declares a pthread-compatible barrier |
   csr_matrix.cc | Compressed sparse row (CSR) matrix functionality |
   csr_matrix.h | Compressed sparse row (CSR) matrix functionality |
   machine_epsilon.cc | Functionality for determining an approximate value of the "machine epsilon" – the smallest number that can be added to 1 giving a result different from 1, using the ergo_real floating-point type |
   machine_epsilon.h | Functionality for determining an approximate value of the "machine epsilon" – the smallest number that can be added to 1 giving a result different from 1, using the ergo_real floating-point type |
   matrix_algebra.cc | A few matrix algebra routines for dense matrices |
   matrix_algebra.h | A few matrix algebra routines for dense matrices |
   memorymanag.cc | Memory allocation/deallocation routines |
   memorymanag.h | Memory allocation/deallocation routines |
   molecule.cc | Class representing a molecule as a set of atoms with assiciated coordinates and charges of the atomic nuclei |
   molecule.h | Class representing a molecule as a set of atoms with assiciated coordinates and charges of the atomic nuclei |
   output.cc | Functionality for writing output messages to a text file |
   output.h | Functionality for writing output messages to a text file |
   pi.h | Constants for the number pi and some related numbers like sqrt(pi) |
   polydegree.h | Constant determining which kinds of Gaussian basis functions are allowed; s, p, d, f, etc |
   realtype.h | Definition of the main floating-point datatype used; the ergo_real type |
   solve_lin_eq_syst.cc | Functionality for solving linear equation systems |
   solve_lin_eq_syst.h | Functionality for solving linear equation systems |
   units.h | Constants for conversion between units for some common units like Angstrom, electron-volt (eV), Kelvin etc |
   utilities.cc | Basic OS access utilities |
   utilities.h | Basic OS access utilities |
   xyz_file_parser.cc | Functionality for parsing a file in xyz file format, storing the result as a molecule object |
   xyz_file_parser.h | Functionality for parsing a file in xyz file format, storing the result as a molecule object |
  bin2m.cc | A program for conversion of binary matrix file to a matlab format file |
  config.h | |
  ergo_input_parser.c | The lex input parser |
  ergo_input_processor.c | Parses the input |
  ergo_input_processor.h | |
  ergo_scripted.cc | The main program for the ergo project |
  ergo_scripted.h | Ergo input processor definitions |
  fermi_contact.cc | Implements "Fermi contact" integrals |
  license.h | |
  matrix_typedefs.h | Header file with typedefs for matrix and vector types |
  matrix_typedefs_chtml.h | Header file with typedefs for matrix types, using either the hierarchical matrix library (HML) or the Chunks and Tasks matrix library (CHTML) |
  registration.cc | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
  registration.h | Registration of task types and chunk types, relevant only if configuring ergo to use Chunks and Tasks |
  slr.cc | Simple Linear Response implementation based on the MO orbital picture |
  slr.h | Contains a Simple Linear Response implementation based on the MO orbital picture |
  transform.h | |