The Rastrigin function is often used when exploring numerical optimization because the function has one true minimum value at (x=0, y=0) but many local minima nearby.

The Wikipedia article on the Rastrigin function. Click to enlarge.
I’ve graphed the Rastrigin function using R, MatLab and its clone SciLab, Excel, Python, and other tools. I’ve been using a lot of Python lately so I figured I’d take another look at graphing the function using Python.
No real moral to the story. I don’t enjoy writing code that displays graphs or UI. I was talking to a friend yesterday and he mentioned that he enjoyed coding with HTML and CSS to generate nice looking Web pages, but that he didn’t consider himself a programmer.
I suspect that people’s brains are wired differently and there’s a component that determines how much affinity a person has for coding in true programming languages versus coding for UI tasks.
# rastrigin_graph.py
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
X = np.linspace(-5.12, 5.12, 100)
Y = np.linspace(-5.12, 5.12, 100)
X, Y = np.meshgrid(X, Y)
Z = (X**2 - 10 * np.cos(2 * np.pi * X)) + \
(Y**2 - 10 * np.cos(2 * np.pi * Y)) + 20
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
cmap=cm.nipy_spectral, linewidth=0.08,
antialiased=True)
# plt.savefig('rastrigin_graph.png')
plt.show()

.NET Test Automation Recipes
Software Testing
SciPy Programming Succinctly
Keras Succinctly
R Programming
2026 Visual Studio Live
2025 Summer MLADS Conference
2026 DevIntersection Conference
2025 Machine Learning Week
2025 Ai4 Conference
2026 G2E Conference
2026 iSC West Conference
Very cool. I really dig Python! (I’m a Python00b)
Thanks for sharing this!