mutable/matrix Design
Responsibilities
- Provide an execution-oriented
Matrix[T]with row-majorArray[T]storage across supported backends. - Keep live row, column, and transpose views connected to the underlying matrix.
- Keep checked APIs for runtime failures while preserving explicit
unchecked_*methods for legacy contracts.
Invariants
- Backend-specific files may tune kernels, but they must expose the same public semantics.
- Bounds checks are explicit for matrix, view, iterator, and transpose access.
- Shared algebraic operations should stay semantically aligned with
immutwhere both packages expose them.