torch.combinations
torch.combinations(input, r=2, with_replacement=False) -> seq
Compute combinations of length r of the given tensor. The behavior
   is similar to python's itertools.combinations when
   with_replacement is set to False, and
   itertools.combinations_with_replacement when with_replacement
   is set to True.
Parameters:
      * input (Tensor) -- 1D vector.
  * **r** (*int**, **optional*) -- number of elements to combine

  * **with_replacement** (*bool**, **optional*) -- whether to
    allow duplication in combination

Returns:
      A tensor equivalent to converting all the input tensors into
      lists, do itertools.combinations or
      itertools.combinations_with_replacement on these lists, and
      finally convert the resulting list into tensor.
Return type:
      Tensor
Example:
  >>> a = [1, 2, 3]
  >>> list(itertools.combinations(a, r=2))
  [(1, 2), (1, 3), (2, 3)]
