容器能力设计
数学能力与结构能力
algebra 描述加法、转置和乘法等数学行为;container 描述形状、受检访问、 构造和两种编辑模型。类型可以只实现其中一层。
容器类型、元素类型和操作之间的关系通过小型显式字典表达,避免把多参数关系 勉强塞入全局 trait,也允许外部类型按不同标量或策略提供多个字典。
所有权与编辑
持久编辑返回新值,即使底层共享存储也必须保持源值不变。可变编辑修改传入的 容器。两者分开后,泛型代码不会混淆复制与原地修改。
基础协议不定义通用 insert、delete、create 或 remove。删除稀疏存储项、 写入零、删除行和调整尺寸是不同操作。
依赖方向与未来扩展
container 仅依赖 error;container/adapters 依赖具体稠密实现;OpenBLAS 直接依赖核心 container 并保持 native 限定。未来可以增加可选的 MatrixKernelOps[M, T],包含受检写入、换行和行基本变换,而不破坏 read/build。