template<typename Tag, typename L, typename R>
struct triqs::gfs::bgf_expr< Tag, L, R >
Lazy expression node representing a binary operation between two block Green's function operands.
Models the BlockGreenFunction concept, so expressions can be nested and assigned to a triqs::gfs::block_gf. The mesh and target are deduced from the operands and the operation is evaluated lazily, block by block, on access.
- Template Parameters
-
| Tag | Operation tag (+, -, *, /). |
| L | Type of the left operand (a block Green's function or a wrapped scalar). |
| R | Type of the right operand (a block Green's function or a wrapped scalar). |
Definition at line 106 of file expr.hpp.
|
| template<typename LL, typename RR> |
| | bgf_expr (LL &&l_, RR &&r_) |
| | Construct from the two operands.
|
| auto | block_names () const |
| | Get the block names of the expression.
|
| template<typename... Args> |
| decltype(auto) | operator() (Args &&...1) const |
| | Evaluate the expression via call at the given arguments.
|
| template<typename... Keys> |
| decltype(auto) | operator[] (Keys &&...keys) const |
| | Evaluate the expression via subscript at the given keys.
|
| auto | size () const |
| | Get the number of blocks of the expression.
|
| auto | size1 () const |
| | Get the number of blocks along the first dimension (for a block2 expression).
|
| auto | size2 () const |
| | Get the number of blocks along the second dimension (for a block2 expression).
|
template<typename Tag, typename L, typename R>
template<typename LL, typename RR>
Construct from the two operands.
- Template Parameters
-
| LL | Forwarding type of the left operand. |
| RR | Forwarding type of the right operand. |
- Parameters
-
| l_ | Left operand. |
| r_ | Right operand. |
Definition at line 141 of file expr.hpp.
template<typename Tag, typename L, typename R>
template<typename... Keys>
Evaluate the expression via subscript at the given keys.
- Template Parameters
-
| Keys | Types of the access keys. |
- Parameters
-
- Returns
- The result of applying the operation to the operands' subscripted values.
Definition at line 179 of file expr.hpp.