Open
Description
There seem to be some issues with the signatures of functions wrapped by get_xp
.
I haven't narrowed down the exact problem, but here's an MRE:
import cupy as xp
from array_api_compat import cupy as xp_compat
A = xp.eye(3)
A = xp.asarray(A)
xp.linalg.eigh(A) # fine
xp.linalg.eigh(a=A) # fine
xp_compat.linalg.eigh(A) # fine
xp_compat.linalg.eigh(a=A) # error
# TypeError: eigh() missing 1 required positional argument: 'x'
Also, e.g.
xp.linalg.eigh(A, 'U') # fine
xp_compat.linalg.eigh(A, 'U') # error
TypeError: eigh() got multiple values for argument 'xp'