Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌐 Array API support tracker #140

Open
jorenham opened this issue Oct 24, 2024 · 4 comments
Open

🌐 Array API support tracker #140

jorenham opened this issue Oct 24, 2024 · 4 comments
Labels
status: blocked Requires completion of another issue or PR topic: array-api Array API compatibility

Comments

@jorenham
Copy link
Owner

jorenham commented Oct 24, 2024

upstream tracker: scipy/scipy#18867

Typing the array API

... that'll have to wait until someone manages to find the time to work on array-api-typing 😅

Relevant scipy bits

The Array API is partially supported scipy. The following packages support it fully:

  • cluster
    • vq
      • whiten
      • [py_]vq
      • kmeans[2]
    • hierarchy
      • int_floor
      • linkage (used by single, complete, average, weighted, centroid, median, ward)
      • {cut,to}_tree
      • optimal_leaf_ordering
      • cophenet
      • inconsistent
      • {from,to}_mlab_linkage
      • is_monotonic
      • is_valid_{im,linkage}
      • num_obs_linkage
      • correspond
      • fcluster[data]
      • leaves_list
      • dendrogram
      • max{dists,inconsts,Rstat}
      • leaders
  • constants
    • convert_temperature
  • datasets (trivial)
  • differentiate [1.15+]
    • derivative
    • jacobian
    • hessian
  • fft
    • [i][r|h]fft[2|n]
    • [i]dct[n]
    • [i]dst[n]
    • [r]fftfreq
    • [i]fftshift
  • integrate [1.15+]
    • cubature
    • tanhsinh
    • trapezoid
    • nsum
  • io (trivial)
  • linalg (not yet, see scipy/scipy#19068)
  • ndimage (not yet, see scipy/scipy#21280)
  • optimize
    • _differentiable_functions
    • elementwise.* [1.15+]
    • rosen[_{der,hess}] [1.15+]
  • signal (not yet, see scipy/scipy#20678)
  • sparse (not yet, see scipy/scipy#18867)
  • special
    • log_ndtr
    • ndtr[i]
    • chdtr [1.15+]
    • chdtrc
    • erf[c]
    • i0[e]
    • i1[e]
    • betainc[c] [1.15+]
    • gammaln
    • gammainc[c]
    • {log,exp}it
    • [rel_]entr
    • xlogy
  • stats (see scipy/scipy#20544)
    • describe
    • moment
    • variation
    • sem
    • skew
    • kurtosis
    • pearsonr
    • kstat[var]
    • z{map,score} [1.15+]
    • gzscore [1.15+]
    • t{mean,var,str,sem,min,max} [1.15+]
    • {g,h,p}mean [1.15+]
    • entropy
    • differential_entropy [1.15+]
    • power_divergence
    • circ{mean,var,std}
    • directional_stats [1.15+]
    • ttest_1samp
    • ttest_{ind,rel} [1.15+]
    • {skew,kurtosis,normal,monte_carlo}test
    • chisquare
    • jarque_bera
    • bartlett
    • boxcox_llf [1.15+]
    • combine_pvalues [1.15+]

How Scipy implements it

Internally, scipy implements the support in scipy._lib._array_api. From the looks of it, this module will come with a bunch of extra utility functions in scipy 1.15 (37174ad), as well as an additional scipy._lib._array_api_no_0d module in 281a8c3

Libraries that support it

Some libraries require array-api-compat for them to support the array-api (2022):

the following libraries have native support:

Other relevant links:

@jorenham jorenham added the topic: array-api Array API compatibility label Oct 25, 2024
@jorenham

This comment was marked as outdated.

@jorenham jorenham added the status: blocked Requires completion of another issue or PR label Nov 24, 2024
@jorenham

This comment was marked as outdated.

@jorenham

This comment was marked as outdated.

@jorenham

This comment was marked as outdated.

@jorenham jorenham changed the title array-api compatability 🌐 Array API support tracker Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: blocked Requires completion of another issue or PR topic: array-api Array API compatibility
Projects
None yet
Development

No branches or pull requests

1 participant