¿Cómo se hacen registros naturales (por ejemplo, "ln ()") con numpy en Python?

98

Usando numpy, ¿cómo puedo hacer lo siguiente?

ln(x)

¿Es equivalente a:

np.log(x)

Me disculpo por ejemplo una pregunta aparentemente trivial, pero mi comprensión de la diferencia entre log, y lnes que lnes logspace e?

usuario1220022
fuente

Respuestas:

18

Correcto, np.log(x)es el registro natural ( eregistro base ) de x.

Para otras bases, recuerde esta ley de los registros: log-b(x) = log-k(x) / log-k(b)dónde log-bestá el registro en una base arbitraria by log-kes el registro en la base k, por ejemplo

aquí k = e

l = np.log(x) / np.log(100)

y les el log-base-100 de x

kaveman
fuente
¿Qué pasa con la pérdida de precisión?
qwr
8

Normalmente me gusta esto:

from numpy import log as ln

Quizás esto pueda hacerte sentir más cómodo.

Vincent
fuente
0

Podría simplemente hacer lo contrario haciendo que la base de log sea e.

import math

e = 2.718281

math.log(e, 10) = 2.302585093
ln(10) = 2.30258093
Raviole
fuente
-2
from numpy.lib.scimath import logn
from math import e

#using: x - var
logn(e, x)
fuera de tiempo
fuente