Skip to main content
`Ctrl`+`K`

# numpy.lib.scimath.log

lib.scimath.log(x)

  Compute the natural logarithm of x.

  Return the “principal value” (for a description of this, see `numpy.log`) of \(log_e(x)\). For real x > 0, this is a real number (`log(0)` returns `-inf` and `log(np.inf)` returns `inf`). Otherwise, the complex principle value is returned.

  Parameters:
    x array_like

      The value(s) whose log is (are) required.

  Returns:
    out ndarray or scalar

      The log of the x value(s). If x was a scalar, so is out, otherwise an array is returned.

  See also

  `numpy.log`

  Notes

  For a log() that returns `NAN` when real x < 0, use `numpy.log` (note, however, that otherwise `numpy.log` and this `log` are identical, i.e., both return `-inf` for x = 0, `inf` for x = inf, and, notably, the complex principle value if `x.imag != 0`).

  Examples

      >>> import numpy as np
      >>> np.emath.log(np.exp(1))
      1.0

  Negative arguments are handled “correctly” (recall that `exp(log(x)) == x` does not hold for real `x < 0`):

      >>> np.emath.log(-np.exp(1)) == (1 + np.pi * 1j)
      True