|
votca 2026-dev
|
#include <bse_operator.h>


Public Member Functions | |
| BSE_OPERATOR (const Eigen::VectorXd &Hd_operator, const TCMatrix_gwbse &Mmn, const Eigen::MatrixXd &Hqp) | |
| void | configure (BSEOperator_Options opt) |
| Eigen::VectorXd | diagonal () const |
| Eigen::MatrixXd | matmul (const Eigen::MatrixXd &input) const |
| void | set_direct_cache (std::shared_ptr< SymmetricTiles > cache) |
| bool | direct_term_cached () const |
| void | use_row_kernel (bool rows) |
| Public Member Functions inherited from votca::xtp::MatrixFreeOperator | |
| Index | rows () const |
| Index | cols () const |
| template<typename Vtype> | |
| Eigen::Product< MatrixFreeOperator, Vtype, Eigen::AliasFreeProduct > | operator* (const Eigen::MatrixBase< Vtype > &x) const |
| Index | size () const |
| void | set_size (Index size) |
Static Public Member Functions | |
| static constexpr Index | DirectKind () |
| Tag of the direct term an operator caches: 1 for Hd, 2 for Hd2. | |
Private Member Functions | |
| void | BuildDirectMatrix () const |
| Eigen::MatrixXd | ApplyDirectBlocks (const Eigen::MatrixXd &input) const |
| Eigen::MatrixXd | ApplyDirectRows (const Eigen::MatrixXd &input) const |
Private Attributes | |
| std::shared_ptr< SymmetricTiles > | direct_cache_ |
| bool | row_kernel_ = false |
| Eigen::MatrixXd | stacked_ |
| BSEOperator_Options | opt_ |
| Index | bse_size_ |
| Index | bse_vtotal_ |
| Index | bse_ctotal_ |
| Index | bse_cmin_ |
| const Eigen::VectorXd & | epsilon_0_inv_ |
| const TCMatrix_gwbse & | Mmn_ |
| const Eigen::MatrixXd & | Hqp_ |
Additional Inherited Members | |
| Public Types inherited from votca::xtp::MatrixFreeOperator | |
| enum | { ColsAtCompileTime = Eigen::Dynamic , MaxColsAtCompileTime = Eigen::Dynamic , IsRowMajor = false } |
Definition at line 45 of file bse_operator.h.
|
inline |
Definition at line 48 of file bse_operator.h.
|
private |
Definition at line 125 of file bse_operator.cc.
|
private |
Definition at line 78 of file bse_operator.cc.
|
private |
Definition at line 181 of file bse_operator.cc.
| void votca::xtp::BSE_OPERATOR< cqp, cx, cd, cd2 >::configure | ( | BSEOperator_Options | opt | ) |
Definition at line 32 of file bse_operator.cc.
|
virtual |
Implements votca::xtp::MatrixFreeOperator.
Definition at line 220 of file bse_operator.cc.
|
inline |
Definition at line 75 of file bse_operator.h.
|
inlinestaticconstexpr |
Tag of the direct term an operator caches: 1 for Hd, 2 for Hd2.
Definition at line 79 of file bse_operator.h.
|
virtual |
Implements votca::xtp::MatrixFreeOperator.
Definition at line 43 of file bse_operator.cc.
|
inline |
Keep the screened direct term (Hd for cd, Hd2 for cd2; unit prefactor) in this matrix, which is built on first use unless it already holds it. Operators of the same BSE can share it (e.g. the singlet and triplet A, or Hd for the analysis); null disables it.
Definition at line 72 of file bse_operator.h.
|
inline |
Without the dense cache the screened direct term is applied in large products, one block of Hamiltonian rows (all v1 for one c1) at a time; true selects the row-by-row kernel (one Hamiltonian row at a time).
Definition at line 85 of file bse_operator.h.
|
private |
Definition at line 105 of file bse_operator.h.
|
private |
Definition at line 104 of file bse_operator.h.
|
private |
Definition at line 102 of file bse_operator.h.
|
private |
Definition at line 103 of file bse_operator.h.
|
private |
Definition at line 95 of file bse_operator.h.
|
private |
Definition at line 107 of file bse_operator.h.
|
private |
Definition at line 109 of file bse_operator.h.
|
private |
Definition at line 108 of file bse_operator.h.
|
private |
Definition at line 101 of file bse_operator.h.
|
private |
Definition at line 96 of file bse_operator.h.
|
mutableprivate |
Definition at line 100 of file bse_operator.h.