【发布时间】:2018-08-22 06:25:21
【问题描述】:
在dom: domain(2) 的稀疏子域上给定一些A: [sps],切片A[A.domain.dim(1), k] 将第k 列生成为密集 一维数组。如何将稀疏 nD-array 的第 kthn−1 维切片检索为 sparse (n-1)D-array?
var nv: int = 8,
D: domain(2) = {1..nv, 1..nv},
SD: sparse subdomain(D),
X: [SD] real;
SD += (1,2); X[1,2] = 1;
SD += (2,3); X[2,3] = 1;
SD += (3,1); X[3,1] = 1;
SD += (3,4); X[3,4] = 1;
SD += (4,5); X[4,5] = 1;
SD += (3,6); X[3,6] = 1;
SD += (6,8); X[6,8] = 1;
writeln(X);
writeln(X[X.domain.dim(1),2]);
返回
1.0
1.0
1.0 1.0 1.0
1.0
1.0
1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
如果我成功进行稀疏切片,则期望返回单个1.0,并能够通过在slice.domain 上调用writeln() 来检索该条目的此位置。
【问题讨论】:
标签: multidimensional-array slice sparse-matrix hpc chapel