TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
k-vector expressions

Detailed Description

Lazy expressions for k-vectors.

Concepts

concept  triqs::mesh::BzMeshPoint
 Concept for a Brillouin zone mesh point.

Classes

struct  triqs::mesh::k_expr< OP, L, R >
 Binary \( \mathbf{k} \)-vector expression. More...
struct  triqs::mesh::k_expr_unary< OP, L >
 Unary minus \( \mathbf{k} \)-vector expression. More...

Functions

template<std::integral Int, BzMeshPoint R>
k_expr<' *', long, R > triqs::mesh::operator* (Int l, R &&r)
 Lazy multiplication of a triqs::mesh::BzMeshPoint object with a scalar.
template<BzMeshPoint L, BzMeshPoint R>
k_expr<'+', L, R > triqs::mesh::operator+ (L &&l, R &&r)
 Lazy addition of two triqs::mesh::BzMeshPoint objects.
template<BzMeshPoint L>
k_expr_unary<'-', L > triqs::mesh::operator- (L &&l)
 Lazy unary minus for triqs::mesh::BzMeshPoint objects.
template<BzMeshPoint L, BzMeshPoint R>
k_expr<'-', L, R > triqs::mesh::operator- (L &&l, R &&r)
 Lazy subtraction of two triqs::mesh::BzMeshPoint objects.

Variables

template<typename T>
constexpr bool triqs::mesh::is_k_expr = false
 Type trait to check if a type is a triqs::mesh::k_expr or triqs::mesh::k_expr_unary.

Function Documentation

◆ operator*()

template<std::integral Int, BzMeshPoint R>
k_expr<' *', long, R > triqs::mesh::operator* ( Int l,
R && r )

#include <triqs/mesh/brzone.hpp>

Lazy multiplication of a triqs::mesh::BzMeshPoint object with a scalar.

Template Parameters
IntIntegral type.
Rtriqs::mesh::BzMeshPoint type.
Parameters
lLeft hand side operand, an integer.
rRight hand side operand, a BZ mesh point.
Returns
triqs::mesh::k_expr object representing the multiplication of a scalar and a BZ mesh point.

Definition at line 670 of file brzone.hpp.

◆ operator+()

template<BzMeshPoint L, BzMeshPoint R>
k_expr<'+', L, R > triqs::mesh::operator+ ( L && l,
R && r )

#include <triqs/mesh/brzone.hpp>

Lazy addition of two triqs::mesh::BzMeshPoint objects.

Template Parameters
Ltriqs::mesh::BzMeshPoint type.
Rtriqs::mesh::BzMeshPoint type.
Parameters
lLeft hand side operand.
rRight hand side operand.
Returns
triqs::mesh::k_expr object representing the addition of two BZ mesh points.

Definition at line 648 of file brzone.hpp.

◆ operator-() [1/2]

template<BzMeshPoint L>
k_expr_unary<'-', L > triqs::mesh::operator- ( L && l)

#include <triqs/mesh/brzone.hpp>

Lazy unary minus for triqs::mesh::BzMeshPoint objects.

Template Parameters
Ltriqs::mesh::BzMeshPoint type.
Parameters
lOperand to negate.
Returns
triqs::mesh::k_expr_unary expression representing the negation of a BZ mesh point.

Definition at line 637 of file brzone.hpp.

◆ operator-() [2/2]

template<BzMeshPoint L, BzMeshPoint R>
k_expr<'-', L, R > triqs::mesh::operator- ( L && l,
R && r )

#include <triqs/mesh/brzone.hpp>

Lazy subtraction of two triqs::mesh::BzMeshPoint objects.

Template Parameters
Ltriqs::mesh::BzMeshPoint type.
Rtriqs::mesh::BzMeshPoint type.
Parameters
lLeft hand side operand.
rRight hand side operand.
Returns
triqs::mesh::k_expr object representing the subtraction of two BZ mesh points.

Definition at line 659 of file brzone.hpp.

Variable Documentation

◆ is_k_expr

template<typename T>
bool triqs::mesh::is_k_expr = false
constexpr

#include <triqs/mesh/k_expr.hpp>

Type trait to check if a type is a triqs::mesh::k_expr or triqs::mesh::k_expr_unary.

Template Parameters
TType to check.

Definition at line 129 of file k_expr.hpp.