SciPy Root Finding: root, root_scalar and brentq

SciPy root finding: the Command Prompt comparing brentq, root_scalar and root on the same equations

SciPy gives you three doors into root finding, and picking the wrong one is why scipy.optimize.root feels awkward for simple problems. Most people land here with a single equation, so it’s one of the first two they want. I reach for brentq unless there’s a reason not to. Everything that follows was run on SciPy … Read more >>

Python Scipy Odeint: Solve Differential Equations

odeint python

While I was working on a project that required solving differential equations to model a real-world physical system. The challenge was finding a simple yet useful way to solve these equations in Python. That’s when I discovered the scipy.integrate.odeint function, a game-changer for solving ordinary differential equations (ODEs) numerically. In this article, I’ll cover several … Read more >>

Python SciPy Ndimage Imread: Image Processing

scipy imread

Recently, I was working on an image analysis project where I needed to read and manipulate images using Python. This is when I discovered the power of SciPy’s ndimage module and its imread function. The ndimage module offers a comprehensive suite of image processing tools, with imread being particularly useful for reading images as NumPy … Read more >>

scipy.optimize.minimize: Methods, Bounds and Constraints

Python SciPy minimize: the Command Prompt comparing how many function evaluations each method needs

scipy.optimize.minimize finds the input that makes a function as small as possible: The starting guess matters, and so does result.success. A failed run still hands back an x, and it means nothing. All output below is from real runs on Python 3.12.5, SciPy 1.18.1, NumPy 2.5.3. Using scipy.optimize.minimize Pass a function and a starting point. … Read more >>

How to Load MAT Files in Python SciPy

python load mat file

Working with MATLAB files in Python projects is a common challenge I face in data science workflows. When collaborating with MATLAB users or working with legacy scientific datasets, knowing how to properly load and manipulate .mat files becomes essential. In this article, I’ll walk you through several practical methods to load MAT files in Python … Read more >>

SciPy linprog: Linear Programming in Python

SciPy linprog: the Command Prompt solving a production planning problem and printing the optimal number of chairs, tables and the profit

linprog in SciPy solves linear programming problems: minimise a linear objective subject to linear constraints. Three things about it surprise people, and all three are in the first example: it only minimises, every variable is non-negative by default, and constraints must be written as <=. I solved each of these on SciPy 1.18.1 on Python … Read more >>

Python SciPy Leastsq: Solve Non-Linear Least Squares Problems

scipy optimize least squares

I was working on a data analysis project where I needed to fit a complex exponential decay model to experimental measurements. The challenge was that my model was non-linear, making traditional linear regression methods unsuitable. This is where SciPy’s leastsq function came to the rescue. In this article, I’ll share how to use SciPy’s leastsq … Read more >>

Scipy KDTree: Nearest Neighbor Searches in Python

kdtree query

Recently, I was working on a project where I needed to find the nearest points in a multidimensional dataset quickly. The brute force approach of calculating distances between all points was painfully slow with large datasets. That’s when I discovered Scipy’s KDTree, which dramatically improved my search efficiency. In this article, I’ll share how to … Read more >>

Python SciPy Interpolate

scipy interpolate

When working with real-world data, it’s common to encounter situations where you need to estimate values between known data points. This is where interpolation comes in handy, and Python’s SciPy library offers powerful tools for this purpose. Over my decade-plus journey as a Python developer, I’ve found SciPy’s interpolation functions to be invaluable for various … Read more >>

Python SciPy IIR Filter: Digital Signal Processing

scipy.signal.cheby2 python digital filter

Recently, I was working on a project where I needed to process audio signals and remove unwanted noise. As I explored different solutions, I found that SciPy’s IIR filters were incredibly powerful for this task. In this article, I’ll share my hands-on experience with SciPy’s IIR filters, showing you how to implement them effectively in … Read more >>