In particular, quoting from the above web-site:
a=indgen(2,3) print,a ; 0 1 ; 2 3 ; 4 5 b=randomu(sd,3) print,b ; 0.662640 0.991186 0.479801 ;We want to multiply each column of "a" by "b". ;If we had a new array, "b2", the same size as "a", but with a copy of ;"b" in all its columns, we could perform the multiplication ;trivially. ;TRY: print,rebin(b,2,3) ;ERROR: % REBIN: Result dimensions must be integer factor of original dimensions ;USE: print, rebin(reform(b,1,3),2,3) ; 0.662640 0.662640 ; 0.991186 0.991186 ; 0.479801 0.479801 ;WE WANT: print, rebin(reform(b,1,3),2,3)*a ; 0.00000 0.662640 ; 1.98237 2.97356 ; 1.91920 2.39901 ;N.B. There are other ways to make "column vectors". Examples: help,transpose(b) ;<Expression> FLOAT = Array[1, 3] help,rotate(b,1) ;<Expression> FLOAT = Array[1, 3] 1#b b##1You'll often see these in place of reform(b,1,3), but don't be confused, they do exactly the same thing: prepend a leading shallow dimension. They are nice because they relieve you from having to know they length of b (3 here). However, they only work for creating column vectors, though: i.e. up to 2D data, and the latter two only work for numeric data.