def linear_grid(D, n = <NUM_LIT:100>, min_max = (-<NUM_LIT:100>, <NUM_LIT:100>)):
g = np.linspace(min_max[<NUM_LIT:0>], min_max[<NUM_LIT:1>], n)<EOL>G = np.ones((n, D))<EOL>return G*g[:,None]<EOL>
Creates a D-dimensional grid of n linearly spaced points

:param D: dimension of the grid
:param n: number of points
:param min_max: (min, max) list