votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 > Class Template Referencefinal

#include <bse_operator_uks.h>

Inheritance diagram for votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >:
Collaboration diagram for votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >:

Classes

struct  SpinBlockInfo

Public Member Functions

 BSE_OPERATOR_UKS (const Eigen::VectorXd &epsilon_0_inv, const TCMatrix_gwbse_spin &Mmn, const Eigen::MatrixXd &Hqp_alpha, const Eigen::MatrixXd &Hqp_beta)
void configure (BSEOperatorUKS_Options opt)
Eigen::VectorXd diagonal () const override
Eigen::MatrixXd matmul (const Eigen::MatrixXd &input) const override
Eigen::MatrixXd dense_matrix () const
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)

Private Member Functions

void setup_block (SpinBlockInfo &blk, Index homo, Index offset)
Eigen::VectorXd Hqp_row (const Eigen::MatrixXd &Hqp, const SpinBlockInfo &blk, Index v1, Index c1) const
void add_qp_block (Eigen::MatrixXd &y, const Eigen::MatrixXd &x, const SpinBlockInfo &blk, const Eigen::MatrixXd &Hqp) const
void add_exchange_block (Eigen::MatrixXd &y, const Eigen::MatrixXd &x, const SpinBlockInfo &out_blk, const SpinBlockInfo &in_blk, const TCMatrix_gwbse &Mout, const TCMatrix_gwbse &Min, double prefactor) const
void add_direct_block (Eigen::MatrixXd &y, const Eigen::MatrixXd &x, const SpinBlockInfo &out_blk, const SpinBlockInfo &in_blk, const TCMatrix_gwbse &Mout, const TCMatrix_gwbse &Min, double prefactor) const
void add_direct2_block (Eigen::MatrixXd &y, const Eigen::MatrixXd &x, const SpinBlockInfo &out_blk, const SpinBlockInfo &in_blk, const TCMatrix_gwbse &Mout, const TCMatrix_gwbse &Min, double prefactor) const
void add_direct_cross_tda_block (Eigen::MatrixXd &y, const Eigen::MatrixXd &x, const SpinBlockInfo &out_blk, const SpinBlockInfo &in_blk, const TCMatrix_gwbse &Mout, const TCMatrix_gwbse &Min, double prefactor) const

Private Attributes

BSEOperatorUKS_Options opt_
SpinBlockInfo alpha_
SpinBlockInfo beta_
Index size_total_ = 0
const Eigen::VectorXd & epsilon_0_inv_
const TCMatrix_gwbse_spinMmn_
const Eigen::MatrixXd & Hqp_alpha_
const Eigen::MatrixXd & Hqp_beta_

Additional Inherited Members

Public Types inherited from votca::xtp::MatrixFreeOperator
enum  { ColsAtCompileTime = Eigen::Dynamic , MaxColsAtCompileTime = Eigen::Dynamic , IsRowMajor = false }

Detailed Description

template<Index cqp, Index cx, Index cd, Index cd2>
class votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >

Definition at line 41 of file bse_operator_uks.h.

Constructor & Destructor Documentation

◆ BSE_OPERATOR_UKS()

template<Index cqp, Index cx, Index cd, Index cd2>
votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::BSE_OPERATOR_UKS ( const Eigen::VectorXd & epsilon_0_inv,
const TCMatrix_gwbse_spin & Mmn,
const Eigen::MatrixXd & Hqp_alpha,
const Eigen::MatrixXd & Hqp_beta )
inline

Definition at line 43 of file bse_operator_uks.h.

Member Function Documentation

◆ add_direct2_block()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::add_direct2_block ( Eigen::MatrixXd & y,
const Eigen::MatrixXd & x,
const SpinBlockInfo & out_blk,
const SpinBlockInfo & in_blk,
const TCMatrix_gwbse & Mout,
const TCMatrix_gwbse & Min,
double prefactor ) const
private

Definition at line 138 of file bse_operator_uks.cc.

◆ add_direct_block()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::add_direct_block ( Eigen::MatrixXd & y,
const Eigen::MatrixXd & x,
const SpinBlockInfo & out_blk,
const SpinBlockInfo & in_blk,
const TCMatrix_gwbse & Mout,
const TCMatrix_gwbse & Min,
double prefactor ) const
private

Definition at line 102 of file bse_operator_uks.cc.

◆ add_direct_cross_tda_block()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::add_direct_cross_tda_block ( Eigen::MatrixXd & y,
const Eigen::MatrixXd & x,
const SpinBlockInfo & out_blk,
const SpinBlockInfo & in_blk,
const TCMatrix_gwbse & Mout,
const TCMatrix_gwbse & Min,
double prefactor ) const
private

Definition at line 175 of file bse_operator_uks.cc.

◆ add_exchange_block()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::add_exchange_block ( Eigen::MatrixXd & y,
const Eigen::MatrixXd & x,
const SpinBlockInfo & out_blk,
const SpinBlockInfo & in_blk,
const TCMatrix_gwbse & Mout,
const TCMatrix_gwbse & Min,
double prefactor ) const
private

Definition at line 75 of file bse_operator_uks.cc.

◆ add_qp_block()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::add_qp_block ( Eigen::MatrixXd & y,
const Eigen::MatrixXd & x,
const SpinBlockInfo & blk,
const Eigen::MatrixXd & Hqp ) const
private

Definition at line 58 of file bse_operator_uks.cc.

◆ configure()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::configure ( BSEOperatorUKS_Options opt)

Definition at line 38 of file bse_operator_uks.cc.

◆ dense_matrix()

template<Index cqp, Index cx, Index cd, Index cd2>
Eigen::MatrixXd votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::dense_matrix ( ) const

Definition at line 266 of file bse_operator_uks.cc.

◆ diagonal()

template<Index cqp, Index cx, Index cd, Index cd2>
Eigen::VectorXd votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::diagonal ( ) const
overridevirtual

Implements votca::xtp::MatrixFreeOperator.

Definition at line 277 of file bse_operator_uks.cc.

◆ Hqp_row()

template<Index cqp, Index cx, Index cd, Index cd2>
Eigen::VectorXd votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::Hqp_row ( const Eigen::MatrixXd & Hqp,
const SpinBlockInfo & blk,
Index v1,
Index c1 ) const
private

Definition at line 47 of file bse_operator_uks.cc.

◆ matmul()

template<Index cqp, Index cx, Index cd, Index cd2>
Eigen::MatrixXd votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::matmul ( const Eigen::MatrixXd & input) const
overridevirtual

Implements votca::xtp::MatrixFreeOperator.

Definition at line 214 of file bse_operator_uks.cc.

◆ setup_block()

template<Index cqp, Index cx, Index cd, Index cd2>
void votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::setup_block ( SpinBlockInfo & blk,
Index homo,
Index offset )
private

Definition at line 26 of file bse_operator_uks.cc.

Member Data Documentation

◆ alpha_

template<Index cqp, Index cx, Index cd, Index cd2>
SpinBlockInfo votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::alpha_
private

Definition at line 70 of file bse_operator_uks.h.

◆ beta_

template<Index cqp, Index cx, Index cd, Index cd2>
SpinBlockInfo votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::beta_
private

Definition at line 71 of file bse_operator_uks.h.

◆ epsilon_0_inv_

template<Index cqp, Index cx, Index cd, Index cd2>
const Eigen::VectorXd& votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::epsilon_0_inv_
private

Definition at line 75 of file bse_operator_uks.h.

◆ Hqp_alpha_

template<Index cqp, Index cx, Index cd, Index cd2>
const Eigen::MatrixXd& votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::Hqp_alpha_
private

Definition at line 77 of file bse_operator_uks.h.

◆ Hqp_beta_

template<Index cqp, Index cx, Index cd, Index cd2>
const Eigen::MatrixXd& votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::Hqp_beta_
private

Definition at line 78 of file bse_operator_uks.h.

◆ Mmn_

template<Index cqp, Index cx, Index cd, Index cd2>
const TCMatrix_gwbse_spin& votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::Mmn_
private

Definition at line 76 of file bse_operator_uks.h.

◆ opt_

template<Index cqp, Index cx, Index cd, Index cd2>
BSEOperatorUKS_Options votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::opt_
private

Definition at line 69 of file bse_operator_uks.h.

◆ size_total_

template<Index cqp, Index cx, Index cd, Index cd2>
Index votca::xtp::BSE_OPERATOR_UKS< cqp, cx, cd, cd2 >::size_total_ = 0
private

Definition at line 73 of file bse_operator_uks.h.


The documentation for this class was generated from the following files: