src/kinematic/matrice_s [ Modules ]
NAME
Module matrice_s
USAGE
use matrice_s
DESCRIPTION
This module is used : to reserve some memory in order to pass the S matrix, its shape, the set of propagator labels; to compute the inverse of S matrix and the related quantities : the b's and sumb, also for the reduce matrix (up to 4 X 4). The S matrix is allocated here and also its dimension and it returns the result through the three functions inv_s, b and sumb.
OUTPUT
This module exports three variable: * dim_s -- an integer, the shape of the initial S matrix * set_ref -- an integer array, the set of initial propagators * s_mat -- a real (type ki) array of rank 2, the S matrix and also seven functions: * allocation_s -- to allocate the required memory * deallocation_s -- to deallocate the used memory * init_invs -- to fill all the array for the inverse of the S matrix and the inverse of the reduce S matrix * inv_s -- it contains the inverse of the S matrix * hj -- it contains H matrix (pseudo-inverse of G) * b -- it contains the b coefficients * sumb -- it contains the B coeficient * norma_sumb -- it contains the normalised B coefficient Only dim_s take a value in this module, not the other variables
USES
* precision (src/module/preci_double.f90) * sortie_erreur (src/module/sortie_erreur.f90) * inverse_matrice (src/kinematic/inverse_matrice.f90) * tri_croissant (src/module/tri_croissant.f90) * array (src/module/array.f90)
src/kinematic/inversion/b [ Functions ]
NAME
Function b
USAGE
real = b(i,set)
DESCRIPTION
This function gives the b coefficients whatever the S matrix dimension (<=6)
INPUTS
* i -- an integer, label of the b coefficients * set -- an integer array of rank 1, the set of pinch propagators
SIDE EFFECTS
No side effect
RETURN VALUE
A real (type ki)
EXAMPLE
src/kinematic/inversion/hj [ Functions ]
NAME
Function hj
USAGE
real = hj(i,j,set)
DESCRIPTION
This function gives the H matrix (pseudo-inverse of G) (dim=6)
INPUTS
* i -- an integer, line number * j -- an integer, row number * set -- an integer array of rank 1, the set of pinch propagators
SIDE EFFECTS
No side effect
RETURN VALUE
A real (type ki)
EXAMPLE
src/kinematic/inversion/init_invs [ Functions ]
NAME
Subroutine init_invs
USAGE
call init_invs()
DESCRIPTION
For a 6 x 6 S matrix, this routine fills the arrays: invs6, hjj, b6, sumb6, invs5, b5, sumb5, invs4, b4, sumb4, norma_sumb4 For a 5 x 5 S matrix, this routine fills the arrays: invs5, b5, sumb5, invs4, b4, sumb4, norma_sumb4 For a 4 x 4 S matrix, this routine fills the arrays: invs4, b4, sumb4, norma_sumb4 One can print a typycal error due to the numerical inversion
INPUTS
No input
SIDE EFFECTS
This routine modify the value invs6, hjj, b6, sumb6, invs5, b5, sumb5, invs4, b4, sumb4, norma_sumb4
RETURN VALUE
No retrurn value
EXAMPLE
src/kinematic/inversion/inv_s [ Functions ]
NAME
Function inv_s
USAGE
real = inv_s(i,j,set)
DESCRIPTION
This function gives the generic inverse of the S matrix whatever its dimension (<=6)
INPUTS
* i -- an integer, line number * j -- an integer, row number * set -- an integer array of rank 1, the set of pinch propagators
SIDE EFFECTS
No side effect
RETURN VALUE
A real (type ki)
EXAMPLE
src/kinematic/inversion/norma_sumb [ Functions ]
NAME
Function norma_sumb
USAGE
real = norma_sumb(set)
DESCRIPTION
This function gives the B coefficient whatever the S matrix dimension (<=6) divided by the greatest (in absolute value) element of the S matrix
INPUTS
* set -- an integer array of rank 1, the set of pinch propagators
SIDE EFFECTS
No side effect
RETURN VALUE
A real (type ki)
EXAMPLE
src/kinematic/inversion/sumb [ Functions ]
NAME
Function sumb
USAGE
real = sumb(set)
DESCRIPTION
This function gives the B coefficient whatever the S matrix dimension (<=6)
INPUTS
* set -- an integer array of rank 1, the set of pinch propagators
SIDE EFFECTS
No side effect
RETURN VALUE
A real (type ki)
EXAMPLE
src/kinematic/matrice_s/allocation_s [ Functions ]
NAME
Subroutine allocation_s
USAGE
call allocation_s(dim)
DESCRIPTION
This subroutine reserves the memory for several objects dim_s is an integer, invs6 a real(type ki) array of rank 2 hjj a real (type ki) array of rank 3, b6 a real (type ki) array of rank 1, sumb6 a real (type ki), invs5 a real (type ki) array of rank 3, b5 a real (type ki) array of rank 2, sumb5 a real (type ki) array of rank 1, invs4 a real (type ki) array of rank 4, b4 a real (type ki) array of rank 3, sumb4 a real (type ki) array of rank 2 norma_sumb4 a real (type ki) array of rank 2
INPUTS
* dim -- an integer, the maximal number of external legs
SIDE EFFECTS
This routine modify the value of the variable dim_s It initialises invs6, hjj, b6, sumb6, invs5, b5, sumb5, invs4, b4, sumb4, norma_sumb4 to zero
RETURN VALUE
No return value
EXAMPLE
src/kinematic/matrice_s/deallocation_s [ Functions ]
NAME
Subroutine deallocation_s
USAGE
call deallocation_s()
DESCRIPTION
This subroutine deallocates the memory reserved by the preceeding subroutine
INPUTS
No input
SIDE EFFECTS
This routine destroies all the variables initialised in the preceeding subroutine
RETURN VALUE
No return value
EXAMPLE