immut/matrix 設計
責務
- 値指向の
Matrix[T]を提供し、変換操作は新しい行列を返します。 - 不変ベクトルに支えられた表現で、行優先の保存順を保ちます。
- 失敗し得る行列操作では検査付き API を使い、形状・指数・入力領域のエラーを
Result[..., LinearAlgebraError]で表します。
不変条件
- コンストラクタは負の次元と行長の揃わない入力を拒否します。
- インデックスアクセス、行イテレータ、列イテレータは可変行列 API と同じ境界意味論に揃えます。
immutとmutableの両方が同じ代数操作を公開する場合は、値セマンティクスを保ちながら意味論を揃えます。