When working with the `math`

module in Python, you might encounter the following error:

```
ValueError: math domain error
```

This error usually occurs when you pass a number to one of the `math`

module functions that can’t process zero or negative numbers.

Some common scenarios that cause this error are:

- Passing a negative number to the
`sqrt()`

function - Passing zero or a negative number to the
`log()`

function

The following tutorial shows examples for each scenario and how to fix it

## 1. You passed a negative number to the `sqrt()`

function

The `math.sqrt()`

function is unable to calculate the square root of negative numbers.

Suppose you want to find the square root of `-2`

as follows:

```
import math
x = math.sqrt(-2)
```

Output:

```
Traceback (most recent call last):
File "main.py", line 3, in <module>
x = math.sqrt(-2)
ValueError: math domain error
```

To resolve this error, you need to make sure you’re passing only positive numbers to the `sqrt()`

function.

## 1. You passed zero or a negative number to the `log()`

function

The `log()`

function of the `math`

module can’t process a `0`

or negative number.

So when you try to find the log of `0`

as follows:

```
import math
x = math.log(0)
```

You’ll get this error:

```
Traceback (most recent call last):
File "main.py", line 3, in <module>
x = math.log(0)
ValueError: math domain error
```

To resolve this error, you need to ensure that you’re only using positive numbers with the `log()`

function.

Here’s an example of one that works:

```
import math
x = math.log(5)
print(x) # 1.6094379124341003
```

Notice that we received no error this time.

## Conclusion

The “math domain error” occurs because you’re passing numbers that can’t be computed by the `math`

module functions.

To resolve this error, you need to make sure that you’re passing numbers that are valid for the function you called.

I hope this tutorial is helpful. Happy coding! 👋