Reputation: 12075
Using numpy, how can I do the following:
ln(x)
Is it equivalent to:
np.log(x)
I apologise for such a seemingly trivial question, but my understanding of the difference between log
and ln
is that ln
is logspace e?
Upvotes: 172
Views: 644298
Reputation: 5805
Numpy seems to take a cue from MATLAB/Octave and uses log
to be "log base e" or ln
. Also like MATLAB/Octave, Numpy does not offer a logarithmic function for an arbitrary base.
If you find log
confusing you can create your own object ln
that refers to the numpy.log function:
>>> import numpy as np
>>> from math import e
>>> ln = np.log # assign the numpy log function to a new function called ln
>>> ln(e)
1.0
Upvotes: 1
Reputation: 1
You could simple just do the reverse by making the base of log to e.
import math
e = 2.718281
math.log(e, 10) = 2.302585093
ln(10) = 2.30258093
Upvotes: -3
Reputation: 349
I usually do like this:
from numpy import log as ln
Perhaps this can make you more comfortable.
Upvotes: 24
Reputation: 765
from numpy.lib.scimath import logn
from math import e
#using: x - var
logn(e, x)
Upvotes: -3
Reputation: 4399
Correct, np.log(x)
is the Natural Log (base e
log) of x
.
For other bases, remember this law of logs: log-b(x) = log-k(x) / log-k(b)
where log-b
is the log in some arbitrary base b
, and log-k
is the log in base k
, e.g.
here k = e
l = np.log(x) / np.log(100)
and l
is the log-base-100 of x
Upvotes: 25