You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a996df3
Browse filesBrowse the repository at this point in the historyBrowse files
refactor: ♻️ adopt the array API standard for backend dispatch and array typing (#69)
* refactor: ♻️ adopt the array API standard for backend dispatch and array typing
The algorithms take the array namespace from their arrays through
array-api-compat instead of receiving an `xp` module. The namespace is
picked once from `device=` by `DeviceGroup`, which now also resolves the
device ids; `EnvironmentStore` follows the arrays it is given, and
`truncated_qr` and the splitting kernels follow their inputs.
Arrays of either backend are annotated with one alias,
`src_method.utils.Array`; host-only arrays (the results, the exact path,
the sketches) are `np.ndarray`. Array creation, `linalg.qr`, `conj`,
`reshape`, `moveaxis`, `concat` and `asarray` use the standard names.
Streams, pinned memory and CuPy's pool stay behind `utils._backend`, and
the Gaussian sketches are always drawn on the host.
Closes#45
Assisted-by: GitHub Copilot:Claude Opus 5.5
* chore: clean-up readme.
An implementation of the SRC algorithm introduced in [Camaño, Epperly and Tropp, *Quantum***10**, 2022 (2026)](https://doi.org/10.22331/q-2026-03-10-2022), extending the idea to other kinds of tensor networks.
@@ -109,21 +111,6 @@ On a node with several GPUs, `Resources(devices=4)` splits the sweep among four
109
111
110
112
See [Large problems](https://algorithmiq.github.io/src-method/features/large-problems) for the budgets, the scratch directory, several GPUs and how to read the logged plan.
111
113
112
-
### Logging
113
-
114
-
`src_method` logs through the standard library `logging` module, under the
115
-
`src_method` logger, and stays silent by default: it adds only a `NullHandler`
116
-
and never touches the root logger or its handlers. Progress and timing messages
117
-
are emitted at `DEBUG`, the small-network fallback at `WARNING`. To see them,
0 commit comments