BackendOps Array API substrate#
BackendOps remains SpaceCore’s declared numerical API. Users and internals
should continue to call explicit methods such as ops.matmul,
ops.reshape, and ops.eigh rather than reaching through to backend
libraries directly.
Concrete backends expose an Array API compatible xp namespace as the shared
implementation substrate for common dense-array operations. NumPy and PyTorch
use array-api-compat wrappers; JAX uses jax.numpy, which already exposes
the Array API spellings SpaceCore relies on. xp is intentionally an escape
hatch for advanced backend-specific code; it is not the preferred portable
SpaceCore API.
Audit categories#
Category |
Methods |
Notes |
|---|---|---|
Direct |
|
Implemented once in |
Delegation with name or namespace adaptation |
|
SpaceCore keeps existing method names while adapting to names such as
|
Common Array API delegation |
|
The base method uses Array API spellings such as |
Deliberately backend-specific |
|
These operations have sparse formats, mutation semantics, tracing rules, or dtype/device behavior that is not captured by the common dense-array namespace. |
Backend tuning arguments#
Portable mathematical options stay as explicit method arguments. Backend
tuning should be passed only to selected heavier methods, currently through a
backend_kwargs dictionary on operations such as matmul, eigh,
solve, eigvalsh, svd, and cholesky. Exotic backend features
belong behind ops.xp or the backend-specific handles such as ops.np and
ops.jax.