|
#include <Orthogonal_basis.h>
|
| Orthogonal_basis () |
|
void | scalar_product_matrix () |
|
void | diagonal_scalar_product_matrix (bool save_P_diagonal_spm, bool save_d_diagonal_spm, bool use_mem) |
|
Poly_vec | decompose (const Col_amp &Ca) |
|
Polynomial | scalar_product (const Col_amp &Ca1, const Col_amp &Ca2) |
|
cnum | scalar_product_num (const Col_amp &Ca1, const Col_amp &Ca2) |
|
cnum | scalar_product_num (const cvec &v1, const cvec &v2) |
|
std::string | diagonal_spm_file_name (const bool leading, const bool poly) const |
|
void | write_out_diagonal_d_spm (std::string filename) const |
|
void | write_out_diagonal_d_spm () const |
|
void | write_out_diagonal_P_spm (std::string filename) const |
|
void | write_out_diagonal_P_spm () const |
|
void | write_out_diagonal_spm (const dvec &dv, const bool leading) const |
|
void | write_out_diagonal_spm (const Poly_vec &pv, const bool leading) const |
|
| Col_basis () |
|
virtual | ~Col_basis () |
|
bool | is_Trace_basis () const |
|
bool | is_Orthogonal_basis () const |
|
bool | is_Tree_level_gluon_basis () const |
|
uint | size () const |
|
const Col_amp & | at (const int i) const |
|
Col_amp & | at (const int i) |
|
bool | empty () const |
|
void | clear () |
|
void | append (Col_amp Ca) |
|
void | append (col_basis cb_in) |
|
void | scalar_product_matrix () |
|
void | scalar_product_matrix_num () |
|
virtual void | scalar_product_matrix_no_mem () |
|
void | scalar_product_matrix_num_no_mem () |
|
void | leading_scalar_product_matrix () |
|
cnum | scalar_product_num_diagonal (const cvec &v1, const cvec &v2) |
|
std::string | basis_file_name () const |
|
std::string | spm_file_name (const bool leading, const bool poly) const |
|
virtual void | read_in_Col_basis (std::string filename) |
|
virtual void | read_in_Col_basis () |
|
void | read_in_d_spm (std::string filename) |
|
void | read_in_d_spm () |
|
void | read_in_leading_d_spm (std::string filename) |
|
void | read_in_leading_d_spm () |
|
void | read_in_P_spm (std::string filename) |
|
void | read_in_P_spm () |
|
void | read_in_leading_P_spm (std::string filename) |
|
void | read_in_leading_P_spm () |
|
virtual void | write_out_Col_basis (std::string filename) const |
|
virtual void | write_out_Col_basis () const |
|
void | write_out_d_spm (std::string filename) const |
|
void | write_out_d_spm () const |
|
void | write_out_P_spm (std::string filename) const |
|
void | write_out_P_spm () const |
|
void | write_out_leading_d_spm (std::string filename) const |
|
void | write_out_leading_d_spm () const |
|
void | write_out_leading_P_spm (std::string filename) const |
|
void | write_out_leading_P_spm () const |
|
void | simplify () |
|
Col_amp | exchange_gluon (uint vec, int p1, int p2) |
|
Poly_matr | color_gamma (int p1, int p2) |
|
int | n_quark_check () const |
|
int | n_gluon_check () const |
|
void | rename_indices (Col_str &Cs1, Col_str &Cs2) const |
|
This class is for containing orthogonal bases, i.e. bases where the scalar product matrix is diagonal. ColorFull has (currently) no functionality for creating orthogonal bases, but orthogonal bases can be read in using read_in _Col_basis.
◆ Orthogonal_basis()
ColorFull::Orthogonal_basis::Orthogonal_basis |
( |
| ) |
|
|
inline |
Default constructor, puts private variable orthogonal_basis=true and calls the constructor of Col_basis.
◆ decompose()
The decomposition of a Col_amp in an orthogonal basis is done by calculating scalar products and dividing out the norm. The norm is evaluated numerically.
Reimplemented from ColorFull::Col_basis.
◆ diagonal_scalar_product_matrix()
void ColorFull::Orthogonal_basis::diagonal_scalar_product_matrix |
( |
bool |
save_P_diagonal_spm, |
|
|
bool |
save_d_diagonal_spm, |
|
|
bool |
use_mem |
|
) |
| |
Calculates the diagonal entries in the scalar product matrix, and (depending on arguments), saves them to the member variables diagonal_P_spm and diagonal_d_spm. This function is used by the Orthogonal_basis version of scalar_product_matrix.
◆ diagonal_spm_file_name()
std::string ColorFull::Orthogonal_basis::diagonal_spm_file_name |
( |
const bool |
leading, |
|
|
const bool |
poly |
|
) |
| const |
Creates a default filename for writing out diagonal scalar products. The boolean variable leading should be true if the name is for a leading Nc variable. The filename is then modified accordingly.
◆ scalar_product()
Function for calculating scalar products given the information about the basis and the scalar product matrix in the basis. The Col_amps are first decomposed using decompose, and then squared using the scalar product matrix P_spm. An orthogonal scalar product matrix is assumed.
Reimplemented from ColorFull::Col_basis.
◆ scalar_product_matrix()
void ColorFull::Orthogonal_basis::scalar_product_matrix |
( |
| ) |
|
Calculates the scalar product matrix assuming the basis to be orthogonal. Calculates both the double (d_spm) and the Polynomial (P_spm) matrices and saves to default file names.
◆ scalar_product_num() [1/2]
cnum ColorFull::Orthogonal_basis::scalar_product_num |
( |
const Col_amp & |
Ca1, |
|
|
const Col_amp & |
Ca2 |
|
) |
| |
|
virtual |
Function for calculating scalar products given the information about the basis and the scalar product matrix in numerical form. The Col_amps are first decomposed using decompose, and then squared using diagonal_d_spm. For Orthogonal_basis, an orthogonal scalar product matrix is assumed.
Reimplemented from ColorFull::Col_basis.
◆ scalar_product_num() [2/2]
cnum ColorFull::Orthogonal_basis::scalar_product_num |
( |
const cvec & |
v1, |
|
|
const cvec & |
v2 |
|
) |
| |
|
virtual |
Calculates the scalar product between decomposed amplitudes v1, V2 using the diagonal_d_spm diagonal numerical scalar product matrix. The vectors needs to be expressed in the basis contained in cb, i.e., the decomposition has to be known.
Reimplemented from ColorFull::Col_basis.
◆ write_out_diagonal_d_spm() [1/2]
void ColorFull::Orthogonal_basis::write_out_diagonal_d_spm |
( |
std::string |
filename | ) |
const |
Writes out diagonal_d_spm to the file filename.
◆ write_out_diagonal_d_spm() [2/2]
void ColorFull::Orthogonal_basis::write_out_diagonal_d_spm |
( |
| ) |
const |
Writes out diagonal_d_spm to the standard filename, see diagonal_spm_file_name.
◆ write_out_diagonal_P_spm() [1/2]
void ColorFull::Orthogonal_basis::write_out_diagonal_P_spm |
( |
std::string |
filename | ) |
const |
Writes out diagonal_P_spm to the file filename.
◆ write_out_diagonal_P_spm() [2/2]
void ColorFull::Orthogonal_basis::write_out_diagonal_P_spm |
( |
| ) |
const |
Writes out diagonal_P_spm to the standard filename, see diagonal_spm_file_name.
◆ write_out_diagonal_spm() [1/2]
void ColorFull::Orthogonal_basis::write_out_diagonal_spm |
( |
const dvec & |
dv, |
|
|
const bool |
leading |
|
) |
| const |
Function for writing out a dvec (the diagonal scalar products, diagonal_d_spm) to a file with standard filename given by diagonal_spm_file_name. The boolean variable leading should be true if dv only has leading Nc contributions. The filename is then modified accordingly.
◆ write_out_diagonal_spm() [2/2]
void ColorFull::Orthogonal_basis::write_out_diagonal_spm |
( |
const Poly_vec & |
pv, |
|
|
const bool |
leading |
|
) |
| const |
Function for writing out a Poly_vec (the diagonal scalar products, diagonal_d_spm) to a file with standard filename given by diagonal_spm_file_name. The boolean variable leading should be true if Poly_vec only has leading Nc contributions. The filename is then modified accordingly.
◆ diagonal_d_spm
dvec ColorFull::Orthogonal_basis::diagonal_d_spm |
To contain information about scalar products as a dvec, i.e., entry i is the square of vector i.
◆ diagonal_P_spm
Poly_vec ColorFull::Orthogonal_basis::diagonal_P_spm |
To contain information about scalar products as a Poly_vec, i.e., entry i is the square of vector i.
The documentation for this class was generated from the following file:
|