Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何打包3维阵列/如何将其映射到1维阵列_Arrays_Algorithm_Fortran - Fatal编程技术网

Arrays 如何打包3维阵列/如何将其映射到1维阵列

Arrays 如何打包3维阵列/如何将其映射到1维阵列,arrays,algorithm,fortran,Arrays,Algorithm,Fortran,我有一个关于多维数组打包的问题。我现在陷入困境,也许有人能帮我,因为我认为这是一项相当琐碎的任务。我正在用Fortran编程,但语言在这里并不重要 在我的工作中,我必须用I存储三元组I,j,k的信息,正如你已经注意到的,对于一个特定的k,你有k*k+1/2元素。让我们先按k的递增顺序,再按j的递增顺序,再按i的递增顺序来枚举元素 对于给定的k,您已经使用了sum_{1 ijpair = i*(i+1)/2+j npair = n*(n+1)/2+n ijktrip = npair*(k-1)

我有一个关于多维数组打包的问题。我现在陷入困境,也许有人能帮我,因为我认为这是一项相当琐碎的任务。我正在用Fortran编程,但语言在这里并不重要


在我的工作中,我必须用I存储三元组I,j,k的信息,正如你已经注意到的,对于一个特定的k,你有k*k+1/2元素。让我们先按k的递增顺序,再按j的递增顺序,再按i的递增顺序来枚举元素

对于给定的k,您已经使用了sum_{1
ijpair = i*(i+1)/2+j
npair = n*(n+1)/2+n
ijktrip = npair*(k-1) + ijpair
k*(k-1)*(k+1)/6
index(i, j, k) = k*(k-1)*(k+1)/6 + j*(j-1)/2 + i
index(n, n, n) = n*(n-1)*(n+1)/6 + n*(n-1)/2 + n = n*(n+1)*(n+2)/6