Hi, that's what the plot on the left says. You can reproduce it by means of the following MATLAB code (thanks to Mike Croucher's blog):
[x y] = meshgrid( linspace(-3,3,50), linspace(-5,5,50) );
z = exp(-x.^2-0.5*y.^2).*cos(4*x) + exp(-3*((x+0.5).^2+0.5*y.^2));
idx = ( abs(z)>0.001 );
z(idx) = 0.001 * sign(z(idx));
figure('renderer','opengl')
patch(surf2patch(surf(x,y,z)), 'FaceColor','interp');
set(gca, 'Box','on', ...
'XColor',[.3 .3 .3], 'YColor',[.3 .3 .3], 'ZColor',[.3 .3 .3], 'FontSize',8)
title('$e^{-x^2 - \frac{y^2}{2}}\cos(4x) + e^{-3((x+0.5)^2+\frac{y^2}{2})}$', ...
'Interpreter','latex', 'FontSize',12)
view(35,65)
colormap( [flipud(cool);cool] )
camlight headlight, lighting phong
The World Community Grid (WCG) mission is to create the largest public computing grid benefiting humanity.
I donate the time my computer is turned on, but is idle, to WCG's projects, that is to
public and not-for-profit organizations to use in humanitarian research that might otherwise not be completed due
to the high cost of the computer infrastructure required in the absence of a public grid. Anybody can join, and I suggest
to do so. It takes seconds to register and download the required software. Click here to know more.
Below is a widget displaying in real time my WCG username, the time my pc has been devoted to WCG's projects computations and the related projects.
(first of all some self-celebration)
SDE Toolbox: by myself, simulates and estimates stochastic differential equations.
Lightspeed Toolbox: this library by T. Minka provides highly optimized versions of primitive functions such as repmat.
MATLAB tips and tricks: a useful collection of articles on good programming practice & computational tricks.
MATLAB utilities: an impressive collection of functions by P.J. Acklam.
Statistics Toolbox: this toolbox by A. Holtsberg provides several functions for statistical computations.
Good programming practice: an instructive thread from the newsgroup comp.soft-sys.matlab.
Another link on good programming practice: avoiding the use of global variables.
Optimization 1: a collection of iterative optimization methods by C.T. Kelley.
Optimization 2: CONDOR by F. Vanden Berghen, a very nice direct optimizator using trust regions.
Optimization 3: SolvOpt by A. Kuntsevich
and F. Kappel, an algorithm for smooth and non-smooth optimization problems.
Optimization 4: another collection of optimizers by H. Bruun Nielsen.
Manuals 1: "Numerical Computing with MATLAB" by the creator of MATLAB C. Moler. The individual chapters of this book are downloadable
in pdf format.
Manuals 2: "MATLAB array manipulation tips and tricks" by P.J. Acklam. A fundamental reference to exploit the MATLAB calculus capabilities, write fast programs and vectorize code. Highly recommended.
A companion toolbox implementing the ideas suggested in the manual is available.
Manuals 3: "Writing fast MATLAB code" by P. Getreuer. Another recommended reference.
Manuals 4: "MATLAB tips and tricks" by G. Peyré. A list of useful tips and tricks with concise pieces of code and comments.
Manuals 5: "Writing MATLAB/CMEX Code" by P. Getreuer. To combine the power of MATLAB and C.
The following description and the beautiful picture below are from Jürgen Brauer's website: the picture shows 3 MCMC chains used for searching the minimum of the 3D Rosenbrock optimizer test function (which is non-convex).
Note that only the red points are used at the end. The other points are discarded, since they stem from the "burn-in" period, where we start at a random point in the 3D state space, which does not have to do something with the underlying probability density function.