|
Fast Evolution of Parton Distributions
|
Classes | |
| class | alpha_finestruc |
| class | alpha_strong |
| class | anomalous_dimensions |
| class | evolutionkernel |
| class | integration_contour |
| class | matrix_template |
| class | partondistribution |
| class | partondistribution_with_qed |
| class | vector_template |
Typedefs | |
| typedef std::complex< double > | complex_d |
| complex numbers with double precision | |
| typedef vector_template< complex_d > | vector_c |
| vector of complex numbers with double precision | |
| typedef matrix_template< complex_d > | matrix_c |
| matrix of complex numbers with double precision | |
| typedef vector_template< double > | vector_d |
| vector with double precision | |
| typedef matrix_template< double > | matrix_d |
| matrix with double precision | |
Functions | |
| double | evolve_nonsinglet (const partondistribution &f, double Q, double x, int number_of_points) |
| double | evolve_nonsinglet_3 (const partondistribution &f, double Q, double x) |
| double | evolve_nonsinglet_5 (const partondistribution &f, double Q, double x) |
| double | evolve_nonsinglet_10 (const partondistribution &f, double Q, double x) |
| double | evolve_nonsinglet_20 (const partondistribution &f, double Q, double x) |
| double | evolve_nonsinglet_30 (const partondistribution &f, double Q, double x) |
| vector_d | evolve_singlet (const partondistribution &s, const partondistribution &g, double Q, double x, int number_of_points) |
| vector_d | evolve_singlet_3 (const partondistribution &s, const partondistribution &g, double Q, double x) |
| vector_d | evolve_singlet_5 (const partondistribution &s, const partondistribution &g, double Q, double x) |
| vector_d | evolve_singlet_10 (const partondistribution &s, const partondistribution &g, double Q, double x) |
| vector_d | evolve_singlet_20 (const partondistribution &s, const partondistribution &g, double Q, double x) |
| vector_d | evolve_singlet_30 (const partondistribution &s, const partondistribution &g, double Q, double x) |
| vector_d | evolve_singlet_with_qed (const partondistribution &Delta, const partondistribution &s, const partondistribution &g, const partondistribution &phot, const partondistribution &lept, double Q, double x, int number_of_points) |
| vector_d | evolve_singlet_with_qed_3 (const partondistribution &Delta, const partondistribution &s, const partondistribution &g, const partondistribution &phot, const partondistribution &lept, double Q, double x) |
| vector_d | evolve_singlet_with_qed_5 (const partondistribution &Delta, const partondistribution &s, const partondistribution &g, const partondistribution &phot, const partondistribution &lept, double Q, double x) |
| vector_d | evolve_singlet_with_qed_10 (const partondistribution &Delta, const partondistribution &s, const partondistribution &g, const partondistribution &phot, const partondistribution &lept, double Q, double x) |
| vector_d | evolve_singlet_with_qed_20 (const partondistribution &Delta, const partondistribution &s, const partondistribution &g, const partondistribution &phot, const partondistribution &lept, double Q, double x) |
| vector_d | evolve_singlet_with_qed_30 (const partondistribution &Delta, const partondistribution &s, const partondistribution &g, const partondistribution &phot, const partondistribution &lept, double Q, double x) |
| template<class T > | |
| vector_template< T > | operator+ (const vector_template< T > &v1, const vector_template< T > &v2) |
| template<class T > | |
| vector_template< T > | operator- (const vector_template< T > &v1, const vector_template< T > &v2) |
| template<class T > | |
| vector_template< T > | operator+ (const vector_template< T > &v1) |
| template<class T > | |
| vector_template< T > | operator- (const vector_template< T > &v1) |
| template<class T , class S > | |
| vector_template< T > | operator* (const S &c, const vector_template< T > &v2) |
| template<class T , class S > | |
| vector_template< T > | operator* (const vector_template< T > &v1, const S &c) |
| template<class T , class S > | |
| vector_template< T > | operator/ (const vector_template< T > &v1, const S &c) |
| template<class T > | |
| T | operator* (const vector_template< T > &v1, const vector_template< T > &v2) |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const vector_template< T > &v) |
| template<class T > | |
| matrix_template< T > | operator+ (const matrix_template< T > &v1, const matrix_template< T > &v2) |
| template<class T > | |
| matrix_template< T > | operator- (const matrix_template< T > &v1, const matrix_template< T > &v2) |
| template<class T > | |
| matrix_template< T > | operator+ (const matrix_template< T > &v1) |
| template<class T > | |
| matrix_template< T > | operator- (const matrix_template< T > &v1) |
| template<class T , class S > | |
| matrix_template< T > | operator* (const S &c, const matrix_template< T > &v2) |
| template<class T , class S > | |
| matrix_template< T > | operator* (const matrix_template< T > &v1, const S &c) |
| template<class T , class S > | |
| matrix_template< T > | operator/ (const matrix_template< T > &v1, const S &c) |
| template<class T > | |
| matrix_template< T > | operator* (const matrix_template< T > &v1, const matrix_template< T > &v2) |
| template<class T > | |
| vector_template< T > | operator* (const matrix_template< T > &v1, const vector_template< T > &v2) |
| template<class T > | |
| vector_template< T > | operator* (const vector_template< T > &v1, const matrix_template< T > &v2) |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const matrix_template< T > &v) |
| partondistribution | operator+ (const partondistribution &f1, const partondistribution &f2) |
| partondistribution_with_qed | operator+ (const partondistribution_with_qed &f1, const partondistribution_with_qed &f2) |
| complex_d | cot (const complex_d &xx) |
| complex_d | LogSin (const complex_d &xx) |
| complex_d | Gamma (const complex_d &xx) |
| complex_d | LogGamma (const complex_d &xx) |
| complex_d | IncompleteGamma (const complex_d &a, double x) |
| complex_d | Beta (const complex_d &x, const complex_d &y) |
| complex_d | HyperGeometric (const complex_d &a, const complex_d &b, const complex_d &c, const complex_d &z) |
| complex_d | Psi (const complex_d &z) |
| complex_d | Psi1 (const complex_d &z) |
| complex_d | Psi2 (const complex_d &z) |
| complex_d | Psi3 (const complex_d &z) |
| double | cot (double xx) |
| double | LogSin (double xx) |
| double | Gamma (double xx) |
| double | LogGamma (double xx) |
| double | Beta (double x, double y) |
| double | Psi (double z) |
| double | Psi1 (double z) |
| double | Psi2 (double z) |
| double | Psi3 (double z) |
| complex_d | S1 (const complex_d &z) |
| complex_d | S2 (const complex_d &z) |
| complex_d | S3 (const complex_d &z) |
| complex_d | Stilde (const complex_d &z, int eta) |
| complex_d | Sprim1 (const complex_d &z, int eta) |
| complex_d | Sprim2 (const complex_d &z, int eta) |
| complex_d | Sprim3 (const complex_d &z, int eta) |
| complex_d | M1_helper (const complex_d &z) |
| complex_d | M2_helper (const complex_d &z) |
All classes and functions of the partonevolution package are defined in the namespace pdf.
| double Beta | ( | double | x, |
| double | y | ||
| ) |
Real version of the Beta function.
| double cot | ( | double | xx | ) |
Real version of the cotangent function.
| double evolve_nonsinglet | ( | const partondistribution & | f, |
| double | Q, | ||
| double | x, | ||
| int | number_of_points | ||
| ) |
Entry point for the evolution of a non-singlet parton distribution.
The actual computation is passed to evolve_nonsinglet_n, where n is the number of points where the Gauss Laguerre quadrature formula is evaluated. Formulae for n = 3, 5, 10, 20 and 30 are implemented. The default choice uses 5 points.
| double evolve_nonsinglet_10 | ( | const partondistribution & | f, |
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for a non-singlet parton distribution with a Gauss-Laguerre quadrature formula with 10 points.
| double evolve_nonsinglet_20 | ( | const partondistribution & | f, |
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for a non-singlet parton distribution with a Gauss-Laguerre quadrature formula with 20 points.
| double evolve_nonsinglet_3 | ( | const partondistribution & | f, |
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for a non-singlet parton distribution with a Gauss-Laguerre quadrature formula with 3 points.
| double evolve_nonsinglet_30 | ( | const partondistribution & | f, |
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for a non-singlet parton distribution with a Gauss-Laguerre quadrature formula with 30 points.
| double evolve_nonsinglet_5 | ( | const partondistribution & | f, |
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for a non-singlet parton distribution with a Gauss-Laguerre quadrature formula with 5 points.
| vector_d evolve_singlet | ( | const partondistribution & | s, |
| const partondistribution & | g, | ||
| double | Q, | ||
| double | x, | ||
| int | number_of_points | ||
| ) |
Entry point for the evolution of singlet parton distribution. g is a parameterization of the gluon distribution, whereas s is a parameterization for
The actual computation is passed to evolve_nonsinglet_n, where n is the number of points where the Gauss Laguerre quadrature formula is evaluated. Formulae for n = 3, 5, 10, 20 and 30 are implemented. The default choice uses 5 points.
| vector_d evolve_singlet_10 | ( | const partondistribution & | s, |
| const partondistribution & | g, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with a Gauss-Laguerre quadrature formula with 10 points.
| vector_d evolve_singlet_20 | ( | const partondistribution & | s, |
| const partondistribution & | g, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with a Gauss-Laguerre quadrature formula with 20 points.
| vector_d evolve_singlet_3 | ( | const partondistribution & | s, |
| const partondistribution & | g, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with a Gauss-Laguerre quadrature formula with 3 points.
| vector_d evolve_singlet_30 | ( | const partondistribution & | s, |
| const partondistribution & | g, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with a Gauss-Laguerre quadrature formula with 30 points.
| vector_d evolve_singlet_5 | ( | const partondistribution & | s, |
| const partondistribution & | g, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with a Gauss-Laguerre quadrature formula with 5 points.
| vector_d evolve_singlet_with_qed | ( | const partondistribution & | Delta, |
| const partondistribution & | s, | ||
| const partondistribution & | g, | ||
| const partondistribution & | phot, | ||
| const partondistribution & | lept, | ||
| double | Q, | ||
| double | x, | ||
| int | number_of_points | ||
| ) |
Entry point for the evolution of the singlet parton distribution with QED effects.
The actual computation is passed to evolve_nonsinglet_n, where n is the number of points where the Gauss Laguerre quadrature formula is evaluated. Formulae for n = 3, 5, 10, 20 and 30 are implemented. The default choice uses 5 points.
| vector_d evolve_singlet_with_qed_10 | ( | const partondistribution & | Delta, |
| const partondistribution & | s, | ||
| const partondistribution & | g, | ||
| const partondistribution & | phot, | ||
| const partondistribution & | lept, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with QED effects with a Gauss-Laguerre quadrature formula with 10 points.
| vector_d evolve_singlet_with_qed_20 | ( | const partondistribution & | Delta, |
| const partondistribution & | s, | ||
| const partondistribution & | g, | ||
| const partondistribution & | phot, | ||
| const partondistribution & | lept, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with QED effects with a Gauss-Laguerre quadrature formula with 20 points.
| vector_d evolve_singlet_with_qed_3 | ( | const partondistribution & | Delta, |
| const partondistribution & | s, | ||
| const partondistribution & | g, | ||
| const partondistribution & | phot, | ||
| const partondistribution & | lept, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with QED effects with a Gauss-Laguerre quadrature formula with 3 points.
| vector_d evolve_singlet_with_qed_30 | ( | const partondistribution & | Delta, |
| const partondistribution & | s, | ||
| const partondistribution & | g, | ||
| const partondistribution & | phot, | ||
| const partondistribution & | lept, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with QED effects with a Gauss-Laguerre quadrature formula with 30 points.
| vector_d evolve_singlet_with_qed_5 | ( | const partondistribution & | Delta, |
| const partondistribution & | s, | ||
| const partondistribution & | g, | ||
| const partondistribution & | phot, | ||
| const partondistribution & | lept, | ||
| double | Q, | ||
| double | x | ||
| ) |
Evaluation of the inverse Mellin transform for singlet parton distributions with QED effects with a Gauss-Laguerre quadrature formula with 5 points.
The Gamma function
with complex argument.
If
we use the reflection identity
For
we use Lanczos's formula:
| double Gamma | ( | double | xx | ) |
Real version of the Gamma function.
| complex_d HyperGeometric | ( | const complex_d & | a, |
| const complex_d & | b, | ||
| const complex_d & | c, | ||
| const complex_d & | z | ||
| ) |
The hypergeometric function
This routine approximates the hypergeometric function by the first ten terms of the series expansion.
The log of the Gamma function
.
Since the Gamma functions grows quite fast, it's often better to calculate
in order to avoid overflow errors.
| double LogGamma | ( | double | xx | ) |
Real version of the LogGamma function.
| double LogSin | ( | double | xx | ) |
Real version of the log of the sin function.
The function is defined by
For
large, one can use the expansion
Otherwise one uses the recurrence relation
first.
|
inline |
Multiplication of a vector with a scalar:
|
inline |
Multiplication of a vector with a scalar:
|
inline |
Scalar product of two vectors:
|
inline |
Multiplication of a matrix with a scalar:
|
inline |
Multiplication of a matrix with a scalar:
|
inline |
Multiplication of two matrices:
|
inline |
Multiplication of a matrix with a vector:
|
inline |
Multiplication of a vector with a matrix:
|
inline |
Addition of two vectors:
|
inline |
Unary plus-operator for a vector:
| partondistribution pdf::operator+ | ( | const partondistribution & | f1, |
| const partondistribution & | f2 | ||
| ) |
Addition of two parton distributions
The sum of two parton distributions is given by
The values of
and
of the two summands have to agree, otherwise the function throws an exception.
| partondistribution_with_qed pdf::operator+ | ( | const partondistribution_with_qed & | f1, |
| const partondistribution_with_qed & | f2 | ||
| ) |
Addition of two parton distributions
The values of
, the electric charge and
of the two summands have to agree, otherwise the function throws an exception.
|
inline |
Addition of two matrices:
|
inline |
Unary plus-operator for a matrix:
|
inline |
Subtraction of two vectors:
|
inline |
Unary minus-operator for a vector:
|
inline |
Subtraction of two matrices:
|
inline |
Unary minus-operator for a matrix:
|
inline |
Division of each component of a vector by a scalar:
|
inline |
Division of each component of a matrix by a scalar:
|
inline |
Output operator. A vector_template prints out as [a0,a1,...,].
|
inline |
Output operator. A matrix_template prints out as [[a00,a01,...],[a10,a11,...] ... ].
| double Psi | ( | double | z | ) |
Real version of the function
.
| double Psi1 | ( | double | z | ) |
Real version of the function
.
| double Psi2 | ( | double | z | ) |
Real version of the function
.
| double Psi3 | ( | double | z | ) |
Real version of the function
.
Complex continuation of
with
selecting the odd or even moments.
Complex continuation of
with
selecting the odd or even moments.
Complex continuation of
with
selecting the odd or even moments.
1.8.12