occ
Loading...
Searching...
No Matches
cphf.h File Reference
#include <functional>
#include <occ/core/linear_algebra.h>
#include <occ/qm/mo.h>
#include <vector>
Include dependency graph for cphf.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  occ::qm::cphf::SpinChannel
 The occupied and virtual orbitals of one spin channel. More...
struct  occ::qm::cphf::Settings
struct  occ::qm::cphf::Result
 Vectors in the virtual-occupied space (U, B, residuals) are single matrices: nvirt x nocc for a restricted reference; for unrestricted the alpha (nvirt_a x n_alpha) and beta blocks one after the other, column-major, as one column. More...
class  occ::qm::cphf::Solver

Namespaces

namespace  occ
namespace  occ::qm
 quantum mechanics/quantum chemistry functionality including Hartree-Fock and more
namespace  occ::qm::cphf
 Coupled-perturbed SCF (CPHF / CPKS).

Typedefs

using occ::qm::cphf::ResponseFunction
 The response for a batch of perturbed occupied coefficients Cx (in the layout of occupied_orbitals): per channel G^s[D1] C_o^s with D1^s = Cx^s C_o^s^T + C_o^s Cx^s^T, the first-order per-spin density (restricted, G = 2J[D1] - K[D1]) or spin density (unrestricted, G^s = J[D1^a + D1^b] - K[D1^s]).

Functions

std::vector< SpinChannel > occ::qm::cphf::spin_channels (const MolecularOrbitals &mo)
 The spin channels of an SCF reference: one for restricted (two electrons per orbital), alpha then beta for unrestricted.
Mat occ::qm::cphf::occupied_orbitals (const MolecularOrbitals &mo)
 The occupied coefficients of every channel side by side, nbf x (n_alpha [+ n_beta]): the layout of perturbed occupied coefficients Cx and of the responses G[D1] C_o.
Mat occ::qm::cphf::contract_occupied (const Mat &F, const MolecularOrbitals &mo)
 F^s C_o^s for every channel, side by side in that layout.