Golem is hosted by Hepforge, IPPP Durham

src/module/logarithme [ Modules ]

[ Top ] [ Modules ]

NAME

  Module logarithme

USAGE

  use logarithme

DESCRIPTION

  This module provides three public routines to compute the logarithm,
  the logarithm squared and a special function (generalisation of ln(1-z)/z) 
  assuming that the argument is of the type z = a + i lambda s, where
  lambda > 0 and << 1 and s = +/- 1. a can be a complex type. If its
  imaginary part vanishes, the sign of s becomes relevant.

OUTPUT

  It exports:
  * z_log -- a function which returns the logarithm with a complex argument
  * z_log2 -- a function which returns the logarithm squared with a complex argument
  * q -- a recursive function which a generalisation of ln(1-z)/z

NOTES

  z_log (and z_log2) can be called with complex argument and parameter s. If the imaginary part vanishes,
  z_log (or z_log2) with real argument is called. Here, s becomes important.

USES

  * precision_golem (src/module/precision_golem.f90)
  * constante (src/module/constante.f90)
  * sortie_erreur (src/module/sortie_erreur.f90)
  * equal (src/module/equal.f90)

src/module/logarithme/eta [ Functions ]

[ Top ] [ Functions ]

NAME

  Function eta

USAGE

  complex = eta(x,y,z)

DESCRIPTION

  It computes the function eta defined by
  eta(x,y) - ln(x*y) - ln(x) - ln(y)

INPUTS

  * x -- a complex (type ki)
  * y -- a complex (type ki)
  * z -- optional, a complex (type ki) : product x*y

SIDE EFFECTS

  No side effect

RETURN VALUE

  This function returns a complex (type ki)

NOTES


src/module/logarithme/eta_mod [ Functions ]

[ Top ] [ Functions ]

NAME

  Function eta_mod

USAGE

  complex = eta_mod(im1,im2,imt)

DESCRIPTION

  It computes the function eta defined by
  eta(x,y) - ln(x*y) - ln(x) - ln(y)
  the argument are Re(x), Im(x), Re(y), Im(y) and Im(x*y)

INPUTS

  * re1 -- a real (type ki)
  * im2 -- a complex (type ki)
  * re2 -- a real (type ki)
  * im2 -- a complex (type ki)
  * imt -- a complex (type ki)

SIDE EFFECTS

  No side effect

RETURN VALUE

  This function returns a complex (type ki)

NOTES


src/module/logarithme/q [ Functions ]

[ Top ] [ Functions ]

NAME

  Function q

USAGE

  complex = q(n,x,s)

DESCRIPTION

  It computes the function q defined recusively by
  q_n(X) = (q_{n-1}(X)+1/(n-1))/X 
  with q_1(X) = ln(1-X)/X 
  assuming that X = x + i*s*lambda and s=+/- 1, 
  Care is taken for small values of x.
  For x < small_glob
  q_n(x) = -( 1/n + \sum_{j=n+1}^\infinity x^{j-n}/j )
  Note that in this case there is no imaginary part.

INPUTS

  * n -- an integer, the order of q
  * x -- a real/complex (type ki), the real part
  * s -- a real (type ki), s = +/- 1, it gives the sign of the small imaginary part

SIDE EFFECTS

  No side effect

RETURN VALUE

  This function returns a complex (type ki)

NOTES

  This function can now be called with complex x. If the imaginary part vanishes,
  the evaluation is switched to the version with real x and the original entry for 
  s becomes relevant.

src/module/logarithme/z_log [ Functions ]

[ Top ] [ Functions ]

NAME

  Function z_log

USAGE

  complex = z_log(a,s)

DESCRIPTION

  Compute the ln(z) with z = a + i lambda s

INPUTS

  * a -- a real/complex (type ki), the argument
  * s -- a real (type ki), s = +/- 1, it gives the sign of the small imaginary part

SIDE EFFECTS

  No side effect

RETURN VALUE

  This function returns a complex (type ki)

NOTES

  If the imaginary part of the argument vanishes, the sign of s becomes relevant.

src/module/logarithme/z_log2 [ Functions ]

[ Top ] [ Functions ]

NAME

  Function z_log2

USAGE

  complex = z_log2(a,s)

DESCRIPTION

  Compute the ln(z)^2 with z = a + i lambda s

INPUTS

  * a -- a real/complex (type ki), the argument
  * s -- a real (type ki), s = +/- 1, it gives the sign of the small imaginary part

SIDE EFFECTS

  No side effect

RETURN VALUE

  This function returns a complex (type ki)

NOTES

  If the imaginary part of the argument vanishes, the sign of s becomes relevant.