Предположим, у нас есть 3-мерная сетка измерения (Nx, Ny, Nz)
, соответствующая ndarray:
A = np.zeros((Nx,Ny,Nz))
Если мы векторизуем A
, мы получим соответствующий массив измерения (1, Nx * Ny * Nz)
:
vec_A = A.reshape((1,Nx x Ny x Nz))
Мне любопытно, как можно построить разреженную матрицу смежности в scipy для векторизованных элементов сетки. То есть, если элемент m из vec_A
имеет координаты (i, j, k)
, тогда все возможные комбинации векторов в {-1,0,1}x{-1,0,1}{-1,0,1}
будут иметь связанную векторизованную координату n
, тогда пара (n,m)
включается в разреженную матрицу.
В моей задаче Nx
, Ny
и Nz
около 200, что дает векторизованную версию длины 8000000.