src/kinematic/matrice_s [ Modules ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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 ]

[ Top ] [ 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