Skip to content

algebra 设计

外部接入层级、运算符语义、实现归属以及与 container 字典的关系,请参阅 生态接入指南

职责

  • 表示线性代数需要的语义数学结构。
  • 将结构级 trait 与操作级算术 trait 分开。
  • 避免把近似浮点行为写成精确代数律。
  • AdditiveVector / TransposeMatrix 直接表达对象形状和同类型闭合运算。
  • 把共享上游标量抽象留在包外,只有用户代码确实需要时再直接导入。

非职责

  • 不导入稠密后端类型。
  • 不定义存储、可变操作或算法执行 trait。
  • 不把内积、范数等返回标量值的映射放入核心结构层。
  • 不在缺少显式标量作用模型时引入 ModuleVectorSpace
  • 不用包内依赖形状的零元替代上游 Zero
  • 不把动态矩形矩阵乘法这种部分运算塞进最小矩阵形状 trait。

维护说明

如果未来某个 trait 需要关联标量类型,应显式设计出来,而不是把 Double 之类的固定标量偷偷编码进公开 trait。