To add to Wolfgang's answer, some problems have specific structure that you can use to design physically-based convergence criteria.
Suppose you're solving the generalized Poisson equation or some other elliptic partial differential equation that can be derived through minimization of some convex action functional $J(u)$.
Very often, the action can be split ...
Chris code doesn't work on my machine, so here is my solution.
#julia.install() #<- this is probably needed for the first time
from julia.api import Julia
jl = Julia(compiled_modules=False)
#from julia import Base
from julia import Optim
pyrosen="((x,y),)->(1.0 - x)^2 + 100.0 * (y - x^2)^2; "
You simply put zeros on the required positions, i.e. parameterize $Z$ using the required triangular basis. You never explicitly work with any factorization, that's just for proving that the optimization model yields the desired result at optimality.
Here implemented with YALMIP interfacing Mosek
% Random example (fixed A)
A = randn(5);A = A'*A;
% Define a ...
It is very much problem dependent. The issue with going from Monte Carlo to Simulated Annealing to Very Fast Simulated Annealing is that one increases the number of tuning parameters that the method has and that are all dependent on the specific problem. The only thing you know for sure is that your temperature schedule must allow for step lengths whose sum ...