|
template<typename NT , int d, typename FUN > |
NT | integrate (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | angle_integrate (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const QGauss< 1 > &cos_quadrature) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | two_angle_integrate (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const QGauss< 1 > &cos_quadrature) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | three_angle_integrate (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const QGauss< 1 > &cos_quadrature) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | spatial_integrate_and_integrate (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const QGauss< 1 > &m_quadrature, const double m_extent) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | spatial_angle_integrate_and_integrate (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const QGauss< 1 > &cos_quadrature, const QGauss< 1 > &m_quadrature, const double m_extent) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | spatial_integrate_and_sum (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const int m_order, const QGauss< 1 > &m_quadrature, const double m_extent, const double T) |
| Performs the integral.
|
|
template<typename NT , int d, typename FUN > |
NT | spatial_angle_integrate_and_sum (const FUN &fun, const QGauss< 1 > &x_quadrature, const double x_extent, const double k, const QGauss< 1 > &cos_quadrature, const int m_order, const QGauss< 1 > &m_quadrature, const double m_extent, const double T) |
| Performs the integral.
|
|
template<typename NT , typename FUN > |
NT | sum (const FUN &fun, const int m_order, const QGauss< 1 > &m_quadrature, const double m_extent, const double T) |
|
template<typename NT , int d, typename FUN >
NT DiFfRG::LoopIntegrals::spatial_angle_integrate_and_integrate |
( |
const FUN & | fun, |
|
|
const QGauss< 1 > & | x_quadrature, |
|
|
const double | x_extent, |
|
|
const double | k, |
|
|
const QGauss< 1 > & | cos_quadrature, |
|
|
const QGauss< 1 > & | m_quadrature, |
|
|
const double | m_extent ) |
Performs the integral.
\[
\int_{-\infty}^\infty dq_0\int d\Omega_{d-2} \int_{-1}^1 d\cos \int_0^\infty dq f(q^2, cos, q0) q^{d-2}
\]
with \(q_0\) being the zeroth momentum mode.
- Template Parameters
-
NT | Number type used throughout. |
d | Dimension of the integral. |
FUN | Function type of the integrand. |
- Parameters
-
fun | Integrand, should be a callable with signature NT(double q^2). |
x_quadrature | Quadrature rule for the integral over \(q^2\), \(q^2 = x * k^2\). |
x_extent | Extent of the integral over \(q^2\), \(q^2 = x * k^2\). |
k | Momentum scale as defined above. |
cos_quadrature | Quadrature rule for the integral over \(\cos\). |
m_quadrature | Quadrature rule for the integral over \(q0\), specifically for the domain [0,m_extent). |
m_extent | Extent of the integral over \(q0\). |
- Returns
- NT Result of the integral.
template<typename NT , int d, typename FUN >
NT DiFfRG::LoopIntegrals::spatial_angle_integrate_and_sum |
( |
const FUN & | fun, |
|
|
const QGauss< 1 > & | x_quadrature, |
|
|
const double | x_extent, |
|
|
const double | k, |
|
|
const QGauss< 1 > & | cos_quadrature, |
|
|
const int | m_order, |
|
|
const QGauss< 1 > & | m_quadrature, |
|
|
const double | m_extent, |
|
|
const double | T ) |
Performs the integral.
\[
\sum_{q0}\int d\Omega_{d-2} \int_{-1}^1 d\cos \int_0^\infty dq f(q^2, cos, q0) q^{d-2}
\]
with \(q0 \,\in 2\pi\mathbb{Z}\) being a Matsubara frequency. The Matsubara sum is performed only for the first \(|n| <= m_order\) summands, the rest is approximated by an integral.
- Template Parameters
-
NT | Number type used throughout. |
d | Dimension of the integral. |
FUN | Function type of the integrand. |
- Parameters
-
fun | Integrand, should be a callable with signature NT(double q^2). |
x_quadrature | Quadrature rule for the integral over \(q^2\), \(q^2 = x * k^2\). |
x_extent | Extent of the integral over \(q^2\), \(q^2 = x * k^2\). |
k | Momentum scale as defined above. |
cos_quadrature | Quadrature rule for the integral over \(\cos\). |
m_order | Number of Matsubara frequencies to be summed over. |
m_quadrature | Quadrature rule for the integral over \(q0\). |
m_extent | Extent of the integral over \(q0\). |
- Returns
- NT Result of the integral.
template<typename NT , int d, typename FUN >
NT DiFfRG::LoopIntegrals::spatial_integrate_and_integrate |
( |
const FUN & | fun, |
|
|
const QGauss< 1 > & | x_quadrature, |
|
|
const double | x_extent, |
|
|
const double | k, |
|
|
const QGauss< 1 > & | m_quadrature, |
|
|
const double | m_extent ) |
Performs the integral.
\[
\int_{-\infty}^\infty dq_0\int d\Omega_{d-1} \int_0^\infty dq f(q^2, cos, q0) q^{d-2}
\]
with \(q_0\) being the zeroth momentum mode.
- Template Parameters
-
NT | Number type used throughout. |
d | Dimension of the integral. |
FUN | Function type of the integrand. |
- Parameters
-
fun | Integrand, should be a callable with signature NT(double q^2). |
x_quadrature | Quadrature rule for the integral over \(q^2\), \(q^2 = x * k^2\). |
x_extent | Extent of the integral over \(q^2\), \(q^2 = x * k^2\). |
k | Momentum scale as defined above. |
m_quadrature | Quadrature rule for the integral over \(q0\), specifically for the domain [0,m_extent). |
m_extent | Extent of the integral over \(q0\). |
- Returns
- NT Result of the integral.
template<typename NT , int d, typename FUN >
NT DiFfRG::LoopIntegrals::spatial_integrate_and_sum |
( |
const FUN & | fun, |
|
|
const QGauss< 1 > & | x_quadrature, |
|
|
const double | x_extent, |
|
|
const double | k, |
|
|
const int | m_order, |
|
|
const QGauss< 1 > & | m_quadrature, |
|
|
const double | m_extent, |
|
|
const double | T ) |
Performs the integral.
\[
\sum_{q0}\int d\Omega_{d-1} \int_0^\infty dq f(q^2, q0) q^{d-2}
\]
with \(q0 \,\in 2\pi\mathbb{Z}\) being a Matsubara frequency. The Matsubara sum is performed only for the first \(|n| <= m_order\) summands, the rest is approximated by an integral.
- Template Parameters
-
NT | Number type used throughout. |
d | Dimension of the integral. |
FUN | Function type of the integrand. |
- Parameters
-
fun | Integrand, should be a callable with signature NT(double q^2). |
x_quadrature | Quadrature rule for the integral over \(q^2\), \(q^2 = x * k^2\). |
x_extent | Extent of the integral over \(q^2\), \(q^2 = x * k^2\). |
k | Momentum scale as defined above. |
m_order | Number of Matsubara frequencies to be summed over. |
m_quadrature | Quadrature rule for the integral over \(q0\). |
m_extent | Extent of the integral over \(q0\). |
- Returns
- NT Result of the integral.