src/module/logarithme [ 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/q [ 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 ]
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 ]
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.