data-apis / array-api-compat

Compatibility layer for common array libraries to support the Array API
https://data-apis.org/array-api-compat/
MIT License
69 stars 22 forks source link

Add det/slogdet workaround for dask #133

Open lithomas1 opened 4 months ago

asmeurer commented 4 months ago

Is this needed for a downstream package?

This is right on the border of something that's too algorithmically complex to be appropriate for array-api-compat https://data-apis.org/array-api-compat/#scope. I'm not saying I'm rejecting it outright, but it does worry me. Note that the array API test suite does not have any sort of numerical tests for these functions. It only tests basic things like that the output shapes and dtypes are correct (see https://github.com/data-apis/array-api-tests/blob/e38ce3466e596ed2b8fa4638f161f5563ded81a8/array_api_tests/test_linalg.py#L219-L228 and https://github.com/data-apis/array-api-tests/blob/e38ce3466e596ed2b8fa4638f161f5563ded81a8/array_api_tests/test_linalg.py#L568-L607). At the very least I would start with taking existing tests from other libraries and seeing if they can be adapted for these functions.

Another thing to consider here is whether this can be upstreamed to Dask itself.