稀疏切片的稀疏阵列在教堂里

时间:2018-03-13 20:49:53

标签: multidimensional-array slice sparse-matrix hpc chapel

A: [sps]的稀疏子域上给出一些dom: domain(2),切片A[A.domain.dim(1), k]将第k列作为密集 1D阵列产生。如何将稀疏nD阵列的第k-1维切片检索为稀疏(n-1)D-阵列?

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,并且可以通过调用writeln()上的slice.domain来检索该条目的此位置。

1 个答案:

答案 0 :(得分:2)

我认为,不幸的是,你正在做正确的事情,并且你只是在与slicing sparse domains相关的当前(从Chapel 1.16开始)中受到限制。