まず第一に、私は repa の初心者であり、Haskell 全般の初心者であると考えています。
double のトリプレットの効果的な配列が必要です。単純なアプローチは可能です[(Double, Double, Double)]が、それは効果的ではありません。非常に効果的であるはずなので、repaを使用できると思いました。ただし、トリプレットの配列をどのように定義すればよいかわかりません。
トリプレットの要素を 2 番目の次元に保存することができますArray U DIM2 Double(つまり、最初のインデックスはトリプレットのインデックスで、2 番目のインデックスはトリプレットの要素です)。ただし、2 番目の次元がサイズ 3 のみになるように強制するものは何もありません。
のようなものが必要ですArray U DIM1 Vec3Dが、のVec3Dインスタンスではないため、それは不可能ですData.Vector.Unboxed.Base.Unbox。