message: outer product documentation for tensordot operation
diff: @@ -3862,7 +3862,7 @@ def sparse_segment_sqrt_n_v2(data,
  @tf_export("tensordot", "linalg.tensordot")
  def tensordot(a, b, axes, name=None):
  - r"""Tensor contraction of a and b along specified axes.
  + r"""Tensor contraction of a and b along specified axes and outer product.
  Tensordot (also known as tensor contraction) sums the product of elements
  from `a` and `b` over the indices specified by `a_axes` and `b_axes`.
  @@ -3870,7 +3870,8 @@ def tensordot(a, b, axes, name=None):
  contract the tensors. The axis `a_axes[i]` of `a` must have the same dimension
  as axis `b_axes[i]` of `b` for all `i` in `range(0, len(a_axes))`. The lists
  `a_axes` and `b_axes` must have identical length and consist of unique
  - integers that specify valid axes for each of the tensors.
  + integers that specify valid axes for each of the tensors. Additionally
  + outer product is supported by passing `axes=0`.
  This operation corresponds to `numpy.tensordot(a, b, axes)`.
  @@ -3880,7 +3881,10 @@ def tensordot(a, b, axes, name=None):
  Example 2: When `a` and `b` are matrices (order 2), the case
  `axes = [[1], [0]]` is equivalent to matrix multiplication.
  - Example 3: Suppose that \\(a_{ijk}\\) and \\(b_{lmn}\\) represent two
  + Example 3: When `a` and `b` are matrices (order 2), the case `axes=0` gives
  + the outer product, a tensor of order 4.
  +
  + Example 4: Suppose that \\(a_{ijk}\\) and \\(b_{lmn}\\) represent two
  tensors of order 3. Then, `contract(a, b, [[0], [2]])` is the order 4 tensor
  \\(c_{jklm}\\) whose entry
  corresponding to the indices \\((j,k,l,m)\\) is given by:
  @@ -3897,7 +3901,8 @@ def tensordot(a, b, axes, name=None):
  b in order. If axes is a list or `Tensor` the first and second row contain
  the set of unique integers specifying axes along which the contraction is
  computed, for `a` and `b`, respectively. The number of axes for `a` and
  - `b` must be equal.
  + `b` must be equal. If `axes=0`, computes the outer product between `a`
  + and `b`.
  name: A name for the operation (optional).
  Returns:
  