Open kgryte opened 3 years ago
Someone just proposed to add topk
(or top_k
) to NumPy, and I'm trying to find the best way to use the data that generated the above list. It looks like none of the make ...
commands in https://github.com/data-apis/array-api-comparison show this?
This issue is still useful; I'll remove the v2022 milestone given that we're done adding new APIs to that.
The list of common APIs here is probably longer than the list of things that make sense to add. The content here can be used as reference - one data point in future API extension conversations.
FYI of this list xarray currently uses:
np.clip
np.diff
np.pad
np.repeat
np.take
np.tile
Thanks @TomNicholas. take is implemented, and for clip
there's gh-482, overall my reading is that we'll add clip
for the next version.
The others need looking into, but seem to me to me among the most-often used numpy functions that we haven't included yet. repeat
and tile
are straightforward to implement, diff
isn't too bad either, pad
is a bit painful with its many options.
SciPy has a usecase for the nextafter
function which is present in this list. Since it is a very basic function and implemented by all the array libraries, I think it should be added to the Array API.
SciPy has a usecase for the
nextafter
function which is present in this list. Since it is a very basic function and implemented by all the array libraries, I think it should be added to the Array API.
Thanks for the proposal @tirthasheshpatel! That seems reasonable, and now that there's an identified need we can prioritize it. @steff456 volunteered to dig into this one.
Overview
Similar to gh-6, this issue looks to identify commonalities across array libraries, but only addresses those APIs which are not already included in the array API specification.
Since gh-6 and its analysis,
Method
Similar to gh-6, the list was compiled by doing the following:
The following libraries were analyzed:
APIs
The following APIs were found to be common across the above libraries, but not already included in the array API specification:
We can split the APIs into the following categories...
Array Manipulation
Special Functions
Reductions
Indexing
Other
Next Steps