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...