mutable/matrix 設計
責務
- 実行指向の
Matrix[T]を提供し、対応バックエンド全体で行優先のArray[T]保存モデルを保ちます。 - 行ビュー、列ビュー、転置ビューを基底行列に接続された状態で扱います。
- 実行時失敗には検査付き API を用意し、旧契約は明示的な
unchecked_*メソッドで残します。
不変条件
- バックエンド固有ファイルはカーネルを最適化できますが、同じ公開意味論を提供する必要があります。
- 行列、ビュー、イテレータ、転置アクセスはいずれも明示的な境界チェックを行います。
mutableとimmutの両方が同じ代数操作を公開する場合は、意味論を揃えます。