Implementing kernel
C++ engine symbols that back this Python API.Return the k largest (or smallest) values along dim and their indices.
Both outputs have size k along dim; all other dims match
input. Values come best first: descending for largest=True,
ascending otherwise.
Parameters
inputTensorSource tensor.
kintNumber of elements to return. Must satisfy
0 < k <= input.size(dim).dimint= -1Reduction axis.
largestbool= TrueFalse returns the k smallest instead.Returns
Notes
largest=False takes the head of the stable ascending order, so equal
values keep their input order and NaN is taken only when fewer than
k numbers remain. For the k-th order statistic alone, prefer
kthvalue.
Examples
>>> import lucid
>>> x = lucid.tensor([1.0, 5.0, 3.0, 4.0, 2.0])
>>> v, i = lucid.topk(x, k=3, dim=0)
>>> v
Tensor([5., 4., 3.])
>>> lucid.topk(x, k=2, dim=0, largest=False)[1]
Tensor([0, 4])