array-api
array-api copied to clipboard
RFC document, tooling and other content related to the array API standard
The current docs [1] only state that _If a tuple of integers, the number of non-zero values must be computed over multiple axes._ [1] https://data-apis.org/array-api/draft/API_specification/generated/array_api.count_nonzero.html While one could argue that...
I'm working on a PR for SciPy that replaces the `sum(x * y)` pattern with `vecdot(x, y)`, since there are pretty substantial performance advantages. There is at least one place...
Currently the linalg extension only contains symmetric/hermitian eigenvalue routines, `eigh` and `eigvalsh`. The general/non-symmetric versions are missing. IIUC one reason for the omission is that the low-level routines were not...
The [specification for `matrix_transpose](https://data-apis.org/array-api/2022.12/API_specification/generated/array_api.matrix_transpose.html) does not specify what it does when you pass it a matrix with fewer than 2 dimensions. Do you get an error? Does it just return...
According to the current standard, the `fill_value` of [`full`](https://data-apis.org/array-api/latest/API_specification/generated/array_api.full.html) must be a Python scalar. ```python3 full(shape: int | Tuple[int, ...], fill_value: bool | int | float | complex, *, dtype:...
The spec only says it returns _an object corresponding to the default device_. ( https://data-apis.org/array-api/latest/API_specification/generated/array_api.info.default_device.html#array_api.info.default_device) `jax.numpy` returns `None`, so the question is whether `None` corresponds to the default device or...
Currently, `broadcast_arrays` is mandated to return a `list`. A `tuple` appears more appropriate on face value, though. [NumPy](https://numpy.org/doc/stable/reference/generated/numpy.broadcast_arrays.html#numpy.broadcast_arrays) and [Dask](https://docs.dask.org/en/latest/generated/dask.array.broadcast_arrays.html) are, in fact, returning `tuples` from this function. However, [cupy](https://docs.cupy.dev/en/stable/reference/generated/cupy.broadcast_arrays.html#cupy-broadcast-arrays)...
The [standard](https://data-apis.org/array-api/latest/API_specification/indexing.html#boolean-array-indexing) seems to allow elements of a boolean index's shape to be zero. > The size of each dimension in B must equal the size of the corresponding dimension...
The [specification of `diff`](https://data-apis.org/array-api/latest/API_specification/generated/array_api.diff.html) requires `append` and `prepend` to be arrays with the same shape as the first argument except along `axis`. `array-api-strict` currently does not: ```python3 import array_api_strict as...
This is a tracker of the current state of support for more than one device at once in the Array API, its helper libraries, and the libraries that implement it....