util.h File Reference
Include dependency graph for util.h:
This graph shows which files directly or indirectly include this file:

Namespaces

 mpqc
 The top-level namespace for all Massively Parallel Quantum Chemistry package.
 
 mpqc::pbc
 
 mpqc::pbc::detail
 
 mpqc::lcao
 
 mpqc::lcao::gaussian
 

Functions

template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::pbc::detail::reduced_size_array (TA::DistArray< Tile, Policy > const &arg_array, Vector3i const &arg_range, Vector3i const &result_range)
 This reduces the lattice range of a rank-2 array whose row index is orbital basis in the reference unit cell and column index is orbital basis in a range of unit cells. More...
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::pbc::detail::enlarged_size_array (TA::DistArray< Tile, Policy > const &arg_array, Vector3i const &arg_range, Vector3i const &result_range)
 This enlarges the lattice range of a rank-2 array whose row index is orbital basis in the reference unit cell and column index is orbital basis in a range of unit cells. More...
 
template<typename Tile , typename Policy >
double mpqc::pbc::detail::dot_product (TA::DistArray< Tile, Policy > const &L, TA::DistArray< Tile, Policy > const &R, Vector3i const &L_range, Vector3i const &R_range)
 This performs dot product of two matrices. The left and right matrices may have different # of columns due to different lattice ranges. More...
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::pbc::detail::add (TA::DistArray< Tile, Policy > const &L, TA::DistArray< Tile, Policy > const &R, Vector3i const &L_range, Vector3i const &R_range, const double preL=1.0, const double preR=1.0)
 This performs addition of two matrices. The left and right matrices may have different # of columns due to different lattice ranges. More...
 
template<typename Tile , typename Policy >
void mpqc::pbc::detail::print_norms_by_unit_cell (TA::DistArray< Tile, Policy > const &M_array, Vector3i const &max_lattice_range, std::string const &name)
 This prints by-unit-cell Frobenius norms and Infinity norms of a matrix M(μ_0, ν_R). More...
 
template<typename Tile , typename Policy >
TA::expressions::BlkTsrExpr< TA::DistArray< Tile, Policy >, true > mpqc::pbc::detail::view_array_at_k (TA::DistArray< Tile, Policy > &M, const size_t k_ord, const Vector3i &nk)
 view of a matrix in a k-point pack of matrices More...
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::pbc::detail::slice_array_at_k (TA::DistArray< Tile, Policy > &M, const size_t k_ord, const Vector3i &nk)
 extract a matrix in a k-point pack of matrices More...
 
template<typename Tile , typename Policy >
Vector3i mpqc::pbc::detail::truncate_lattice_range (const TA::DistArray< Tile, Policy > &D, const Vector3i &RD_max, const double threshold)
 This truncates lattice range of an array D(μ, ν_R). If norms of all tiles within a unit cell are below threshold, this unit cell will be removed and the array size is shrinked. More...
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::pbc::detail::symmetrize_matrix (const TA::DistArray< Tile, Policy > &M_unsymm)
 This symmetrizes a matrix M through M(mu, nu_R) = 1/2 * ( M(mu, nu_R) + M(nu, mu_-R) ) More...
 
template<typename OrbSpace >
void mpqc::lcao::gaussian::to_molden (std::string_view fname_prefix, const OrbSpace &orbspace, const WavefunctionWorld &wfn_world)
 prints an orbital space to a Molden file More...