In this post, we will discuss the below-mentioned math module functions.
-
log
-
log1p
-
log2
-
log10
The above-mentioned methods are built-in and can be found in the math module. They can be accessed and used after the math module is imported and referencing it with the dot operator.
1. The log method
It takes two arguments and returns the log (logarithmic value) of the first argument, taking the second argument as the base. If the second parameter hasn't been mentioned (basically, if only one argument has been mentioned), it takes the natural log and calculates the value.
Following is the syntax of the log
method,
math.log(argument_1, argument_2)
If no value has been provided to the log method, it throws TypeError.
Time for an example:
import math
print (math.log(12, 3))
print (math.log(12))
print (math.log())
Output:
2.2618595071429146
2.4849066497880004
Traceback (most recent call last):
File "<ipython-input-208-9f53061ffe7e>", line 5, in <module>
print (math.log())
TypeError: log expected at least 1 arguments, got 0
2. The log1p method
This method takes one parameter and returns the logarithm of the (number+1), i.e log(1+parameter). The argument passed to the log1p
method should be a positive value, else it raises a ValueError. In case no parameter is passed to the function, it returns TypeError. Below is a demonstration of the same:
print(math.log1p()) # Execute each print statement separately
print (math.log1p(-12)) # Execute each print statement separately
Output:
TypeError: log1p() takes exactly one argument (0 given)
ValueError: math domain error
Following is the syntax of the log1p
method,
math.log1p(argument)
Time for an example:
import math
# Cross-check by calling the log method with the parameter 13.
# This will b equivalent to calling log1p on 12
print(math.log1p(12))
print(math.log1p(12.12))
print (math.log1p(-12))
Output:
2.5649493574615367
2.574137783515943
Traceback (most recent call last):
File "<ipython-input-216-6651906a499f>", line 5, in <module>
print (math.log1p(-12))
ValueError: math domain error
3. The log2 method
This method takes one argument and calculates the logarithm of that value with base 2. Your next question could be why not use the log method and pass 2 as the second parameter. The reason is that the log2
method gives a much more accurate result. As always, if no value is passed as a parameter to this method, it throws a TypeError.
Following is the syntax of the log2
method,
math.log2(argument)
Time for an example:
The below example demonstrates why using log2
instead of log
and passing 2 as the second value makes a difference in the precision of the result,
import math
print(math.log(17, 2))
print(math.log2(17))
print(math.log2())
Output:
4.08746284125034
4.087462841250339
TypeError: log2() takes exactly one argument (0 given)
4. The log10 method
This method takes one argument and returns the logarithmic value of that argument with base 10. The argument should be a positive value. This method is better in comparison to using the log
method and passing 10 as the second parameter since log10
gives better precision.
Following is the syntax of the log10
method,
math.log10(argument)
Time for an example:
import math
print (math.log(12, 10)) # Using log method only and passing 10 as the second parameter
print (math.log10(12)) # Using the log10 method
print (math.log10(12.45))
print (math.log10(-12))
Output:
1.0791812460476247
1.0791812460476249
1.095169351431755
Traceback (most recent call last):
File "<ipython-input-231-b90d942ea213>", line 6, in <module>
print (math.log10(-12))
ValueError: math domain error
Note: This log10 method can be used to find out the number of digits present in a number.
Conclusion:
In this post, we understood three more built-in methods from the math module namely log()
, log1p()
, log2()
and log10()
.
These methods come in handy while manipulating numbers. Don't forget to execute these Python programs on your IDE. Meddle with the input to see how the output changes.
Similar Posts:
Math Functions - isinf(), isfinite() and isnan()
Math Functions - ceil(), floor(), fabs() and copysign()
Trigonometric Functions - sin, cos, tan, etc
math.remainder() Funciton in Python
Math functions- factorial(), fmod(), and frexp()