Classes | |
struct | AttributeTag |
class | EROrbitalSpreadMinimizer |
finds a stationary point of the Edmiston-Ruedenberg objective function More... | |
class | FBOrbitalSpreadMinimizer |
finds a stationary point of the Foster-Boys objective function More... | |
struct | Mp2Amp |
struct | Mp2Energy |
struct | OrbitalSpreadMinimizer |
Abstract orbital spread minimizer. More... | |
class | PMOrbitalSpreadMinimizer |
finds a stationary point of the Pipek-Mezey objective function More... | |
struct | ScfCorrection |
Typedefs | |
using | CanonicalAttributeTag = AttributeTag< 0 > |
using | PopulatedAttributeTag = AttributeTag< 1 > |
Functions | |
bool | if_all_lcao (const Formula &formula) |
check if all index in formula are in LCAO More... | |
bool | if_all_ao (const Formula &formula) |
check if all index in formula are in AO More... | |
template<typename Array > | |
Formula | lcao_to_ao (const Formula &formula, const OrbitalSpaceRegistry< Array > &orbital_registry) |
std::shared_ptr< const gaussian::Basis > | by_center_basis (gaussian::Basis const &in) |
void | print_shape (TA::Tensor< float > const &t, std::string const &file_name) |
TA::TiledRange | cadf_trange (gaussian::Basis const &obs_by_atom, gaussian::Basis const &dfbs_by_atom) |
TA::TiledRange | cadf_trange (gaussian::Basis const &bs0_by_atom, gaussian::Basis const &bs1_by_atom, gaussian::Basis const &dfbs_by_atom) |
TA::SparseShape< float > | cadf_shape (madness::World &world, TA::TiledRange const &trange) |
std::shared_ptr< gaussian::SchwarzScreen > | cadf_by_atom_screener (madness::World &world, gaussian::Basis const &obs, gaussian::Basis const &dfbs, double threshold) |
Function to compute the by atom (Schwarz) screener for CADF ERI3 (X | μ ν) More... | |
std::shared_ptr< gaussian::SchwarzScreen > | cadf_by_atom_screener (madness::World &world, gaussian::Basis const &bs0, gaussian::Basis const &bs1, gaussian::Basis const &dfbs, double threshold) |
Function to compute the by atom (Schwarz) screener for CADF ERI3 (X | μ ν) when μ and ν are different basis sets. More... | |
template<typename DistArray > | |
TA::SparseShape< float > | cadf_shape_cluster (DistArray const &C_atom, TA::TiledRange const &trange, std::unordered_map< int64_t, std::vector< int64_t >> &c2a) |
template<typename Array , typename DirectArray > | |
Array | cadf_by_atom_array (Array const &, DirectArray const &, TA::TiledRange const &) |
template<typename Array , typename MArray , typename DirectArray > | |
Array | cadf_by_atom_array (MArray &&M, DirectArray const &eri3, TA::TiledRange const &trange, size_t const &natoms_per_uc, Vector3i const &lattice_range0=Vector3i({0, 0, 0}), Vector3i const &lattice_range1=Vector3i({0, 0, 0}), Vector3i const &lattice_range_df=Vector3i({0, 0, 0}), Vector3i const &lattice_center0=Vector3i({0, 0, 0}), Vector3i const &lattice_center1=Vector3i({0, 0, 0}), Vector3i const &lattice_center_df=Vector3i({0, 0, 0})) |
This computes the CADF coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations in a by-atom fashion. More... | |
template<typename DistArray > | |
DistArray | cadf_by_atom_coeffs (madness::World &world, gaussian::Basis const &by_cluster_obs, gaussian::Basis const &by_cluster_dfbs) |
template<typename DistArray , typename MDistArray > | |
DistArray | cadf_by_atom_coeffs (MDistArray &&M, gaussian::Basis const &by_cluster_bs0, gaussian::Basis const &by_cluster_bs1, gaussian::Basis const &by_cluster_dfbs, size_t const &natoms_per_uc, Vector3i const &lattice_range0=Vector3i({0, 0, 0}), Vector3i const &lattice_range1=Vector3i({0, 0, 0}), Vector3i const &lattice_range_df=Vector3i({0, 0, 0}), Vector3i const &lattice_center0=Vector3i({0, 0, 0}), Vector3i const &lattice_center1=Vector3i({0, 0, 0}), Vector3i const &lattice_center_df=Vector3i({0, 0, 0})) |
This computes the CADF coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations in a by-atom fashion. More... | |
template<typename Array > | |
Array | reblock_atom_to_clusters (Array const &C_atom, gaussian::Basis const &obs, gaussian::Basis const &dfbs) |
Function to convert a by-atom array C(X, μ, ν) to a by-cluster array. More... | |
template<typename Array > | |
Array | reblock_atom_to_clusters (Array const &C_atom, gaussian::Basis const &bs0, gaussian::Basis const &bs1, gaussian::Basis const &dfbs) |
Function to convert a by-atom array C(X, μ, ν) to a by-cluster array when μ and ν are different basis sets. More... | |
template<typename CTile , typename ERI3Tile , typename MTile > | |
void | create_ii_tile (TA::DistArray< CTile, TA::SparsePolicy > *C, ERI3Tile const direct_eri3_iii, MTile M_tile, unsigned long ord) |
template<typename CTile , typename ERI3Tile , typename MTile > | |
void | create_ij_tile (TA::DistArray< CTile, TA::SparsePolicy > *C, ERI3Tile direct_eri3_iij, ERI3Tile direct_eri3_jij, MTile M_ii, MTile M_tile_ij, MTile M_jj, unsigned long ord_iij, unsigned long ord_jij) |
template<typename Tile , typename DirectTile , typename MTile > | |
void | create_ii_tile (TA::DistArray< Tile, TA::SparsePolicy > *C, DirectTile eri3_iii, MTile M_ii, unsigned long ord) |
template<typename Tile , typename DirectTile , typename MTile > | |
void | create_ij_tile (TA::DistArray< Tile, TA::SparsePolicy > *C, DirectTile direct_eri3_iij, DirectTile direct_eri3_jij, MTile M_ii, MTile M_ij, MTile M_jj, unsigned long ord_iij, unsigned long ord_jij) |
template<typename DistArray > | |
DistArray | reblock_atom_to_clusters (DistArray const &C_atom, gaussian::Basis const &obs, gaussian::Basis const &dfbs) |
template<typename DistArray > | |
DistArray | reblock_atom_to_clusters (DistArray const &C_atom, gaussian::Basis const &bs0, gaussian::Basis const &bs1, gaussian::Basis const &dfbs) |
template<typename Tile , typename Policy > | |
std::shared_ptr<::mpqc::utility::TRange1Engine > | closed_shell_dual_basis_mo_build_steele (lcao::LCAOFactory< Tile, Policy > &lcao_factory, Eigen::VectorXd &ens, const Molecule &mols, bool frozen_core, std::size_t occ_blocksize, std::size_t vir_blocksize) |
template<typename Tile , typename Policy > | |
std::shared_ptr<::mpqc::utility::TRange1Engine > | closed_shell_dual_basis_mo_build_steele (LCAOFactory< Tile, Policy > &lcao_factory, Eigen::VectorXd &ens, std::size_t nocc, const Molecule &mols, bool frozen_core, std::size_t occ_blocksize, std::size_t vir_blocksize) |
template<typename Tile , typename Policy > | |
void | d_abij_inplace (TA::Array< double, 4, Tile, Policy > &abij, const EigenVector< typename Tile::numeric_type > &ens, std::size_t n_occ, std::size_t n_frozen, typename Tile::numeric_type shift=0.0) |
template<typename Tile , typename Policy , typename EigenVectorX = Eigen::Matrix<typename Tile::element_type, Eigen::Dynamic, 1>> | |
TA::DistArray< Tile, Policy > | d_abcijk (TA::DistArray< Tile, Policy > &abcijk, const EigenVectorX &ens, std::size_t n_occ, std::size_t n_frozen) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | d_abij (const TA::DistArray< Tile, Policy > &abij, const EigenVector< typename Tile::numeric_type > &ens, std::size_t n_occ, std::size_t n_frozen, typename Tile::numeric_type shift=0.0) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, typename std::enable_if< std::is_same< Policy, TA::SparsePolicy >::value, TA::SparsePolicy >::type > | create_d_ai (madness::World &world, const TA::TiledRange &trange, const EigenVector< typename Tile::numeric_type > ens, std::size_t n_occ, std::size_t n_frozen) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, typename std::enable_if< std::is_same< Policy, TA::DensePolicy >::value, TA::DensePolicy >::type > | create_d_ai (madness::World &world, const TA::TiledRange &trange, const Eigen::VectorXd &ens, std::size_t n_occ, std::size_t n_frozen) |
template<typename Tile , typename Policy > | |
double | evaluate_energy (lcao::LCAOFactory< Tile, Policy > &lcao_factory, gaussian::AOFactory< Tile, Policy > &ao_factory, std::shared_ptr< Eigen::VectorXd > orbital_energy, const TA::DistArray< Tile, Policy > &U, std::shared_ptr< OrbitalLocalizer< Tile, Policy >> localizer, int num_laplace_points, bool cluster_coeffs) |
template<typename Tile , typename Policy > | |
double | compute_mp2 (LCAOFactory< Tile, Policy > &lcao_factory, const std::shared_ptr< const Eigen::VectorXd > &orbital_energy, const std::shared_ptr< const ::mpqc::utility::TRange1Engine > &tr1_engine, bool df) |
template<typename Tile , typename Policy > | |
double | compute_mp2_coarse_grained (LCAOFactory< Tile, Policy > &lcao_factory, const std::shared_ptr< const Eigen::VectorXd > &orbital_energy, const std::shared_ptr< const ::mpqc::utility::TRange1Engine > &tr1_engine, bool df) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_mp2_t2 (LCAOFactoryBase< Tile, Policy > &lcao_factory, const std::shared_ptr< const Eigen::VectorXd > &orbital_energy, const std::shared_ptr< const ::mpqc::utility::TRange1Engine > &trange1_engine, bool df) |
compute MP1 T2 amplitudes More... | |
void | print_ccsd (int iter, double dE, double error, double error_r1, double error_r2, double E1, double time) |
print out details of CCSD iterations More... | |
template<typename Mat > | |
double | fb_objective_function (const std::array< Mat, 3 > &xyz, int spread_exponent) |
Foster-Boys maximizes this function. More... | |
std::vector< int > | atom_to_ao (std::vector< Atom > const &atoms, std::vector< gaussian::Shell > const &shells) |
template<typename Mat > | |
double | pm_objective_function (const Mat &Cm_prime, const Mat &Cm_double_prime, size_t natoms, const std::vector< int > &atom_to_bf_ranges, int spread_exponent) |
Pipek-Mezey maximizes this function. More... | |
double | compute_jacobi_angle (double Aij, double Bij, double epsilon) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | to_spincase (const TA::DistArrayVector< Tile, Policy > &arrayvec, SpinCase1 spin) |
Typedef Documentation
◆ CanonicalAttributeTag
using mpqc::lcao::detail::CanonicalAttributeTag = typedef AttributeTag<0> |
◆ PopulatedAttributeTag
using mpqc::lcao::detail::PopulatedAttributeTag = typedef AttributeTag<1> |
Function Documentation
◆ atom_to_ao()
std::vector<int> mpqc::lcao::detail::atom_to_ao | ( | std::vector< Atom > const & | atoms, |
std::vector< gaussian::Shell > const & | shells | ||
) |
◆ by_center_basis()
std::shared_ptr< const gaussian::Basis > mpqc::lcao::detail::by_center_basis | ( | gaussian::Basis const & | in | ) |
◆ cadf_by_atom_array() [1/2]
Array mpqc::lcao::detail::cadf_by_atom_array | ( | Array const & | M, |
DirectArray const & | eri3, | ||
TA::TiledRange const & | trange | ||
) |
◆ cadf_by_atom_array() [2/2]
Array mpqc::lcao::detail::cadf_by_atom_array | ( | MArray && | M, |
DirectArray const & | eri3, | ||
TA::TiledRange const & | trange, | ||
size_t const & | natoms_per_uc, | ||
Vector3i const & | lattice_range0 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_range1 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_range_df = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_center0 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_center1 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_center_df = Vector3i({0, 0, 0}) |
||
) |
This computes the CADF coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations in a by-atom fashion.
- Template Parameters
-
Array the type of result DistArray type (a conventional DistArray) MArray the type of M
(a conventional or direct DistArray)DirectArray the type of eri3
(a direct DistArray)
- Parameters
-
M 2-e 2-center integrals eri3 2-e 3-center integrals trange tile range of the CADF coefficients natoms_per_uc number of atoms in a unit cell lattice_range0 lattice range of index μ lattice_range1 lattice range of index ν lattice_range_df lattice range of index Χ lattice_center0 origin of the lattice range of index μ lattice_center1 origin of the lattice range of index ν lattice_center_df origin of the lattice range of index X
- Returns
- the by-atom CADF coefficients
◆ cadf_by_atom_coeffs() [1/2]
DistArray mpqc::lcao::detail::cadf_by_atom_coeffs | ( | madness::World & | world, |
gaussian::Basis const & | by_cluster_obs, | ||
gaussian::Basis const & | by_cluster_dfbs | ||
) |
◆ cadf_by_atom_coeffs() [2/2]
DistArray mpqc::lcao::detail::cadf_by_atom_coeffs | ( | MDistArray && | M, |
gaussian::Basis const & | by_cluster_bs0, | ||
gaussian::Basis const & | by_cluster_bs1, | ||
gaussian::Basis const & | by_cluster_dfbs, | ||
size_t const & | natoms_per_uc, | ||
Vector3i const & | lattice_range0 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_range1 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_range_df = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_center0 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_center1 = Vector3i({0, 0, 0}) , |
||
Vector3i const & | lattice_center_df = Vector3i({0, 0, 0}) |
||
) |
This computes the CADF coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations in a by-atom fashion.
Note that this function simply constructs a direct array for 3-center ERIs and passes it to the cadf_by_atom_array function along with 2-e 2-center integrals, by-atom trange of the CADF coefficients, and lattice range information.
- Parameters
-
M 2-e 2-center integrals by_cluster_bs0 by-cluster basis for index μ by_cluster_bs1 by-cluster basis for index ν by_cluster_dfbs by-cluster basis for index Χ natoms_per_uc number of atoms in a unit cell lattice_range0 lattice range of index μ lattice_range1 lattice range of index ν lattice_range_df lattice range of index Χ lattice_center0 origin of the lattice range of index μ lattice_center1 origin of the lattice range of index ν lattice_center_df origin of the lattice range of index X
- Returns
- the by-atom CADF coefficients
◆ cadf_by_atom_screener() [1/2]
std::shared_ptr< gaussian::SchwarzScreen > mpqc::lcao::detail::cadf_by_atom_screener | ( | madness::World & | world, |
gaussian::Basis const & | bs0, | ||
gaussian::Basis const & | bs1, | ||
gaussian::Basis const & | dfbs, | ||
double | threshold | ||
) |
Function to compute the by atom (Schwarz) screener for CADF ERI3 (X | μ ν) when μ and ν are different basis sets.
- Parameters
-
world is a reference to the madness world bs0 basis for index μ bs1 basis for index ν dfbs basis for index X threshold gives the threshold for Schwarz screening
- Returns
- a shared pointer to the Schwarz screener
◆ cadf_by_atom_screener() [2/2]
std::shared_ptr< gaussian::SchwarzScreen > mpqc::lcao::detail::cadf_by_atom_screener | ( | madness::World & | world, |
gaussian::Basis const & | obs, | ||
gaussian::Basis const & | dfbs, | ||
double | threshold | ||
) |
Function to compute the by atom (Schwarz) screener for CADF ERI3 (X | μ ν)
- Parameters
-
world is a reference to the madness world obs basis for indices μ and ν dfbs basis for index X threshold gives the threshold for Schwarz screening
- Returns
- a shared pointer to the Schwarz screener
◆ cadf_shape()
TA::SparseShape< float > mpqc::lcao::detail::cadf_shape | ( | madness::World & | world, |
TA::TiledRange const & | trange | ||
) |
◆ cadf_shape_cluster()
TA::SparseShape<float> mpqc::lcao::detail::cadf_shape_cluster | ( | DistArray const & | C_atom, |
TA::TiledRange const & | trange, | ||
std::unordered_map< int64_t, std::vector< int64_t >> & | c2a | ||
) |
◆ cadf_trange() [1/2]
TA::TiledRange mpqc::lcao::detail::cadf_trange | ( | gaussian::Basis const & | bs0_by_atom, |
gaussian::Basis const & | bs1_by_atom, | ||
gaussian::Basis const & | dfbs_by_atom | ||
) |
◆ cadf_trange() [2/2]
TA::TiledRange mpqc::lcao::detail::cadf_trange | ( | gaussian::Basis const & | obs_by_atom, |
gaussian::Basis const & | dfbs_by_atom | ||
) |
◆ closed_shell_dual_basis_mo_build_steele() [1/2]
std::shared_ptr<::mpqc::utility::TRange1Engine> mpqc::lcao::detail::closed_shell_dual_basis_mo_build_steele | ( | lcao::LCAOFactory< Tile, Policy > & | lcao_factory, |
Eigen::VectorXd & | ens, | ||
const Molecule & | mols, | ||
bool | frozen_core, | ||
std::size_t | occ_blocksize, | ||
std::size_t | vir_blocksize | ||
) |
◆ closed_shell_dual_basis_mo_build_steele() [2/2]
std::shared_ptr<::mpqc::utility::TRange1Engine> mpqc::lcao::detail::closed_shell_dual_basis_mo_build_steele | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
Eigen::VectorXd & | ens, | ||
std::size_t | nocc, | ||
const Molecule & | mols, | ||
bool | frozen_core, | ||
std::size_t | occ_blocksize, | ||
std::size_t | vir_blocksize | ||
) |
◆ compute_jacobi_angle()
|
inline |
◆ compute_mp2()
double mpqc::lcao::detail::compute_mp2 | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
const std::shared_ptr< const Eigen::VectorXd > & | orbital_energy, | ||
const std::shared_ptr< const ::mpqc::utility::TRange1Engine > & | tr1_engine, | ||
bool | df | ||
) |
◆ compute_mp2_coarse_grained()
double mpqc::lcao::detail::compute_mp2_coarse_grained | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
const std::shared_ptr< const Eigen::VectorXd > & | orbital_energy, | ||
const std::shared_ptr< const ::mpqc::utility::TRange1Engine > & | tr1_engine, | ||
bool | df | ||
) |
◆ compute_mp2_t2()
TA::DistArray<Tile, Policy> mpqc::lcao::detail::compute_mp2_t2 | ( | LCAOFactoryBase< Tile, Policy > & | lcao_factory, |
const std::shared_ptr< const Eigen::VectorXd > & | orbital_energy, | ||
const std::shared_ptr< const ::mpqc::utility::TRange1Engine > & | trange1_engine, | ||
bool | df | ||
) |
compute MP1 T2 amplitudes
◆ create_d_ai() [1/2]
TA::DistArray< Tile, typename std::enable_if<std::is_same<Policy, TA::DensePolicy>::value, TA::DensePolicy>::type> mpqc::lcao::detail::create_d_ai | ( | madness::World & | world, |
const TA::TiledRange & | trange, | ||
const Eigen::VectorXd & | ens, | ||
std::size_t | n_occ, | ||
std::size_t | n_frozen | ||
) |
◆ create_d_ai() [2/2]
TA::DistArray< Tile, typename std::enable_if<std::is_same<Policy, TA::SparsePolicy>::value, TA::SparsePolicy>::type> mpqc::lcao::detail::create_d_ai | ( | madness::World & | world, |
const TA::TiledRange & | trange, | ||
const EigenVector< typename Tile::numeric_type > | ens, | ||
std::size_t | n_occ, | ||
std::size_t | n_frozen | ||
) |
◆ create_ii_tile() [1/2]
void mpqc::lcao::detail::create_ii_tile | ( | TA::DistArray< CTile, TA::SparsePolicy > * | C, |
ERI3Tile const | direct_eri3_iii, | ||
MTile | M_tile, | ||
unsigned long | ord | ||
) |
◆ create_ii_tile() [2/2]
void mpqc::lcao::detail::create_ii_tile | ( | TA::DistArray< Tile, TA::SparsePolicy > * | C, |
DirectTile | eri3_iii, | ||
MTile | M_ii, | ||
unsigned long | ord | ||
) |
◆ create_ij_tile() [1/2]
void mpqc::lcao::detail::create_ij_tile | ( | TA::DistArray< CTile, TA::SparsePolicy > * | C, |
ERI3Tile | direct_eri3_iij, | ||
ERI3Tile | direct_eri3_jij, | ||
MTile | M_ii, | ||
MTile | M_tile_ij, | ||
MTile | M_jj, | ||
unsigned long | ord_iij, | ||
unsigned long | ord_jij | ||
) |
◆ create_ij_tile() [2/2]
void mpqc::lcao::detail::create_ij_tile | ( | TA::DistArray< Tile, TA::SparsePolicy > * | C, |
DirectTile | direct_eri3_iij, | ||
DirectTile | direct_eri3_jij, | ||
MTile | M_ii, | ||
MTile | M_ij, | ||
MTile | M_jj, | ||
unsigned long | ord_iij, | ||
unsigned long | ord_jij | ||
) |
◆ d_abcijk()
TA::DistArray<Tile, Policy> mpqc::lcao::detail::d_abcijk | ( | TA::DistArray< Tile, Policy > & | abcijk, |
const EigenVectorX & | ens, | ||
std::size_t | n_occ, | ||
std::size_t | n_frozen | ||
) |
◆ d_abij()
TA::DistArray<Tile, Policy> mpqc::lcao::detail::d_abij | ( | const TA::DistArray< Tile, Policy > & | abij, |
const EigenVector< typename Tile::numeric_type > & | ens, | ||
std::size_t | n_occ, | ||
std::size_t | n_frozen, | ||
typename Tile::numeric_type | shift = 0.0 |
||
) |
◆ d_abij_inplace()
void mpqc::lcao::detail::d_abij_inplace | ( | TA::Array< double, 4, Tile, Policy > & | abij, |
const EigenVector< typename Tile::numeric_type > & | ens, | ||
std::size_t | n_occ, | ||
std::size_t | n_frozen, | ||
typename Tile::numeric_type | shift = 0.0 |
||
) |
◆ evaluate_energy()
double mpqc::lcao::detail::evaluate_energy | ( | lcao::LCAOFactory< Tile, Policy > & | lcao_factory, |
gaussian::AOFactory< Tile, Policy > & | ao_factory, | ||
std::shared_ptr< Eigen::VectorXd > | orbital_energy, | ||
const TA::DistArray< Tile, Policy > & | U, | ||
std::shared_ptr< OrbitalLocalizer< Tile, Policy >> | localizer, | ||
int | num_laplace_points, | ||
bool | cluster_coeffs | ||
) |
◆ fb_objective_function()
double mpqc::lcao::detail::fb_objective_function | ( | const std::array< Mat, 3 > & | xyz, |
int | spread_exponent | ||
) |
Foster-Boys maximizes this function.
◆ if_all_ao()
bool mpqc::lcao::detail::if_all_ao | ( | const Formula & | formula | ) |
check if all index in formula are in AO
◆ if_all_lcao()
bool mpqc::lcao::detail::if_all_lcao | ( | const Formula & | formula | ) |
check if all index in formula are in LCAO
◆ lcao_to_ao()
Formula mpqc::lcao::detail::lcao_to_ao | ( | const Formula & | formula, |
const OrbitalSpaceRegistry< Array > & | orbital_registry | ||
) |
find the corresponding AO formula, if index is already AO, it will be ignored
◆ pm_objective_function()
double mpqc::lcao::detail::pm_objective_function | ( | const Mat & | Cm_prime, |
const Mat & | Cm_double_prime, | ||
size_t | natoms, | ||
const std::vector< int > & | atom_to_bf_ranges, | ||
int | spread_exponent | ||
) |
Pipek-Mezey maximizes this function.
◆ print_ccsd()
|
inline |
print out details of CCSD iterations
◆ print_shape()
void mpqc::lcao::detail::print_shape | ( | TA::Tensor< float > const & | t, |
std::string const & | file_name | ||
) |
◆ reblock_atom_to_clusters() [1/4]
Array mpqc::lcao::detail::reblock_atom_to_clusters | ( | Array const & | C_atom, |
gaussian::Basis const & | bs0, | ||
gaussian::Basis const & | bs1, | ||
gaussian::Basis const & | dfbs | ||
) |
Function to convert a by-atom array C(X, μ, ν) to a by-cluster array when μ and ν are different basis sets.
- Parameters
-
C_atom by-atom array bs0 basis for index μ bs1 basis for index ν dfbs basis for index X
- Returns
- by-cluster array
◆ reblock_atom_to_clusters() [2/4]
Array mpqc::lcao::detail::reblock_atom_to_clusters | ( | Array const & | C_atom, |
gaussian::Basis const & | obs, | ||
gaussian::Basis const & | dfbs | ||
) |
Function to convert a by-atom array C(X, μ, ν) to a by-cluster array.
- Parameters
-
C_atom by-atom array obs basis for indices μ and ν dfbs basis for index X
- Returns
- by-cluster array
◆ reblock_atom_to_clusters() [3/4]
DistArray mpqc::lcao::detail::reblock_atom_to_clusters | ( | DistArray const & | C_atom, |
gaussian::Basis const & | bs0, | ||
gaussian::Basis const & | bs1, | ||
gaussian::Basis const & | dfbs | ||
) |
◆ reblock_atom_to_clusters() [4/4]
DistArray mpqc::lcao::detail::reblock_atom_to_clusters | ( | DistArray const & | C_atom, |
gaussian::Basis const & | obs, | ||
gaussian::Basis const & | dfbs | ||
) |
◆ to_spincase()
TA::DistArray<Tile, Policy> mpqc::lcao::detail::to_spincase | ( | const TA::DistArrayVector< Tile, Policy > & | arrayvec, |
SpinCase1 | spin | ||
) |