SupposeÂ
andÂ
are vectors and we want to form the matrixÂ
with elementsÂ
. This would correspond to the functionÂ
. The matrixÂ
is merely defined by:
W=u.reshape(-1,1) + v
If the vectorsÂ
andÂ
are
and
 respectively, the result is:
array([[2, 3, 4],
[3, 4, 5]])
More generally, suppose that we want to sample the functionÂ
. Supposing that the vectorsÂ
andÂ
are defined, the matrixÂ
of sampled values is obtained with:
W = cos(x).reshape(-1,1) + sin(2*y)
Note that this is very frequently used in combination with ogrid. The vectors obtained from ogrid are already conveniently shaped for broadcasting. This allows for the following elegant sampling of the function
:
x,y = ogrid[0:1:3j,0:1:3j] # x,y are vectors with the contents of linspace(0,1,3) w = cos(x) + sin(2*y)
The syntax of ogrid needs some explanation: First, ogrid is not a function. It is an instance...