title: Evaluating a function at a point in SymPy
body: <p>I'm trying to code various optimisation methods, as a way of revising. I want to be able to use SymPy to evaluate a function with an arbitrary number of variables at a given point, where the co-ordinates of the point are stored in an array.</p>
  
  <p>For example, I'd like to evaluate <code>f(x,y) = 3*x**2 - 2*x*y + y**2 + 4*x + 3*y</code> at the point <code>b = [1,2]</code>. But I'd really like a general way of doing it, that can handle a function with any number of variables and an appropriate length array as the point to be evaluated as, so <code>sympy.evalf(f, subs = {foo})</code> isn't really very useful.</p>