The NumPy docs give a hint:
For real-valued input,
log1p
is accurate also forx
so small that1 + x == 1
in floating-point accuracy.
So for example let’s add a tiny non-zero number and 1.0
. Rounding errors make it a 1.0
.
>>> 1e-100 == 0.0 False >>> 1e-100 + 1.0 == 1.0 True
If we try to take the log
of that incorrect sum, we get an incorrect result (compare to WolframAlpha):
>>> np.log(1e-100 + 1) 0.0
But if we use log1p()
, we get the correct result
>>> np.log1p(1e-100) 1e-100
The same principle holds for exp1m()
and logaddexp()
: The’re more accurate for small x
.
Related Posts:
- TypeError: only integer scalar arrays can be converted to a scalar index with 1D numpy indices array
- Import Error: No module named numpy
- numpy max vs amax vs maximum
- Difference between import numpy and import numpy as np
- What is the purpose of meshgrid in Python / NumPy?
- why numpy.ndarray is object is not callable in my simple for python loop
- numpy division with RuntimeWarning: invalid value encountered in double_scalars
- Numpy ValueError: setting an array element with a sequence. This message may appear without the existing of a sequence?
- How do I create an empty array/matrix in NumPy?
- Most efficient way to find mode in numpy array
- numpy matrix vector multiplication
- Converting list to numpy array
- How do I read CSV data into a record array in NumPy?
- How do you do natural logs (e.g. “ln()”) with numpy in Python?
- How do I read CSV data into a record array in NumPy?
- How to normalize a NumPy array to a unit vector?
- ImportError: numpy.core.multiarray failed to import
- Factorial in numpy and scipy
- ImportError: numpy.core.multiarray failed to import
- How to count the occurrence of certain item in an ndarray?
- size of NumPy array
- Python Pandas – Missing required dependencies [‘numpy’] 1
- numpy array concatenate: “ValueError: all the input arrays must have same number of dimensions”
- Convert a tensor to numpy array in Tensorflow?
- Use a.any() or a.all()
- ‘DataFrame’ object has no attribute ‘sort’
- convert nan value to zero
- Most efficient way to map function over numpy array
- Is there a NumPy function to return the first index of something in an array?
- Numpy/Python Array Value error
- initialize a numpy array
- TypeError: ‘DataFrame’ object is not callable
- Cannot convert list to array: ValueError: only one element tensors can be converted to Python scalars
- How can I use numpy.correlate to do autocorrelation?
- Calculating Covariance with Python and Numpy
- How to access the ith column of a NumPy multidimensional array?
- Dump a NumPy array into a csv file
- Python: find position of element in array
- Inverse of a matrix using numpy
- How to convert a PIL Image into a numpy array?
- numpy with python: convert 3d array to 2d
- Python: slicing a multi-dimensional array
- Pytorch reshape tensor dimension
- How to remove specific elements in a numpy array
- Add single element to array in numpy
- Overflow / math range error for log or exp
- 3-dimensional array in numpy
- Creating a Pandas DataFrame from a Numpy array: How do I specify the index column and column headers?
- Overflow Error in Python’s numpy.exp function
- How do you get the magnitude of a vector in Numpy?
- ‘list’ object has no attribute ‘shape’
- What is the difference between np.mean and tf.reduce_mean?
- How to calculate rolling / moving average using python + NumPy / SciPy?
- ValueError: object too deep for desired array while using convolution
- Make list of arrays in python
- Import Error: No module named numpy Anaconda
- Dictionary in a numpy array?
- What does ‘index 0 is out of bounds for axis 0 with size 0’ mean?
- pandas create new column based on values from other columns / apply a function of multiple columns, row-wise
- Moving average or running mean
- ValueError: x and y must be the same size
- Error NameError: name ‘np’ is not defined
- How to fix “TypeError: len() of unsized object”
- NumPy List Comprehension Syntax
- Numpy.dot TypeError: Cannot cast array data from dtype(‘float64’) to dtype(‘S32’) according to the rule ‘safe’
- Linear regression with matplotlib / numpy
- How to calculate a Gaussian kernel matrix efficiently in numpy?
- How to get the unit vector from a numpy array
- “Divide by zero encountered in log” when not dividing by zero
- RuntimeError: module compiled against API version a but this version of numpy is 9
- Good ways to “expand” a numpy ndarray?
- TypeError: ‘numpy.float64’ object does not support item assignment
- Official abbreviation for: import scipy as sp/sc
- numpy-equivalent of list.pop?
- Efficiently sorting a numpy array in descending order?
- How to create a numpy array of lists?
- How to add column to numpy array
- How to fix ‘RuntimeWarning: divide by zero encountered in double_scalars’
- IndexError: index 2 is out of bounds for axis 0 with size 2
- Coalesce values from 2 columns into a single column in a pandas dataframe
- Compute a confidence interval from sample data
- Create numpy matrix filled with NaNs
- How do I compute derivative using Numpy?
- ImportError: cannot import name NUMPY_MKL
- built-in range or numpy.arange: which is more efficient?
- Concat DataFrame Reindexing only valid with uniquely valued Index objects
- threshold in 2D numpy array
- Convert a 1D array to a 2D array in numpy
- inverting image in Python with OpenCV
- How to print the full NumPy array, without truncation?
- Calculate weighted average using a pandas/dataframe
- RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
- How to install NumPy for Python 3.6
- Complex number troubles with numpy
- Filtering a NumPy Array
- Function to determine if two numbers are nearly equal when rounded to n significant decimal digits
- TypeError: zip argument #2 must support iteration
- CS231n: How to calculate gradient for Softmax loss function?
- How to zip two 1d numpy array to 2d numpy array [duplicate]
- numpy/scipy/ipython:Failed to interpret file as a pickle