#### Overview of this book

Are you looking to start developing artificial intelligence applications? Do you need a refresher on key mathematical concepts? Full of engaging practical exercises, The Statistics and Calculus with Python Workshop will show you how to apply your understanding of advanced mathematics in the context of Python. The book begins by giving you a high-level overview of the libraries you'll use while performing statistics with Python. As you progress, you'll perform various mathematical tasks using the Python programming language, such as solving algebraic functions with Python starting with basic functions, and then working through transformations and solving equations. Later chapters in the book will cover statistics and calculus concepts and how to use them to solve problems and gain useful insights. Finally, you'll study differential equations with an emphasis on numerical methods and learn about algorithms that directly calculate values of functions. By the end of this book, you’ll have learned how to apply essential statistics and calculus concepts to develop robust Python applications that solve business challenges.
Preface
1. Fundamentals of Python
Free Chapter
2. Python's Main Tools for Statistics
3. Python's Statistical Toolbox
4. Functions and Algebra with Python
5. More Mathematics with Python
6. Matrices and Markov Chains with Python
7. Doing Basic Statistics with Python
8. Foundational Probability Concepts and Their Applications
9. Intermediate Statistics with Python
10. Foundational Calculus with Python
11. More Calculus with Python
12. Intermediate Calculus with Python

# Writing the Derivative Function

For all the fear whipped up about derivatives in calculus courses, the function for calculating a derivative numerically is surprisingly easy.

In a Jupyter notebook, we'll define a function, f(x), to be the parabola y = x2:

```def f(x):
return x**2```

Now we can write a function to calculate the derivative at any point (x, f(x)) using the classic formula:

Figure 10.4: Formula for calculating derivatives

The numerator is the rise and the denominator is the run. Δ x means the change in x, and we're going to make that a really small decimal by dividing 1 by a million:

```def f(x):
return x**2
def derivative(f,x):
"""
Returns the value of the derivative of
the function at a given x-value.
"""
delta_x = 1/1000000
...```