|  View source on GitHub | 
Computes a matrix representing a continuous relaxation of sorting.
tfp.math.soft_sorting_matrix(
    x, temperature, name=None
)
Given a vector x, there exists a permutation matrix P_x, when applied to
x gives x sorted in decreasing order. Here, we compute a continuous
relaxation of P_x, parameterized by temperature. This continuous
relaxation satisfies the property that it is a unimodal row-stochastic matrix,
meaning that all entries are non-negative, all rows sum to 1., and there is a
unique maximum entry in each column. The unique maximum entry will correspond
to the location of a 1 in the exact sorting permutation.
Complexity: Given a vector x of size N, this operation will take O(N**2)
  time.
This is also known as a Neural sort in [1].
| Returns | |
|---|---|
| soft_sort | A unimodal row-stochastic matrix. Applying this matrix on x will in the limit of low temperature, sort it. | 
References
[1]: Aditya Grover, Eric Wang, Aaron Zweig, Stefano Ermon. Stochastic Optimization of Sorting Networks via Continuous Relaxations. https://arxiv.org/abs/1903.08850