torch.outer
torch.outer(input, vec2, *, out=None) -> Tensor
Outer product of "input" and "vec2". If "input" is a vector of size
   n and "vec2" is a vector of size m, then "out" must be a matrix of
   size (n \times m).
Note:
 This function does not broadcast.

Parameters:
      * input (Tensor) -- 1-D input vector
  * **vec2** (*Tensor*) -- 1-D input vector

Keyword Arguments:
      out (Tensor, optional) -- optional output matrix
Example:
  >>> v1 = torch.arange(1., 5.)
  >>> v2 = torch.arange(1., 4.)
  >>> torch.outer(v1, v2)
  tensor([[  1.,   2.,   3.],
          [  2.,   4.,   6.],
          [  3.,   6.,   9.],
          [  4.,   8.,  12.]])
