Skip to content

容器能力设计

数学能力与结构能力

algebra 描述加法、转置和乘法等数学行为;container 描述形状、受检访问、 构造和两种编辑模型。类型可以只实现其中一层。

容器类型、元素类型和操作之间的关系通过小型显式字典表达,避免把多参数关系 勉强塞入全局 trait,也允许外部类型按不同标量或策略提供多个字典。

所有权与编辑

持久编辑返回新值,即使底层共享存储也必须保持源值不变。可变编辑修改传入的 容器。两者分开后,泛型代码不会混淆复制与原地修改。

基础协议不定义通用 insertdeletecreateremove。删除稀疏存储项、 写入零、删除行和调整尺寸是不同操作。

依赖方向与未来扩展

container 仅依赖 errorcontainer/adapters 依赖具体稠密实现;OpenBLAS 直接依赖核心 container 并保持 native 限定。未来可以增加可选的 MatrixKernelOps[M, T],包含受检写入、换行和行基本变换,而不破坏 read/build。