Respuesta1
Esto es para darle un comienzo (y no un intento de reproducir completamente la captura de pantalla completa). Esta respuesta viene con un estilo 3d matrix
que le permite producir estos bloques de manera bastante conveniente, solo necesita completar las entradas. Asegúrese de darle a cada matriz un nombre diferente; de lo contrario, una matriz puede heredar el tamaño de bloque de otra matriz. (También es necesario ejecutar el código dos veces). También muestro cómo se pueden dibujar flechas entre matrices y elementos específicos.
\documentclass[tikz,border=3mm]{standalone}
\usepackage{eqparbox}
\usetikzlibrary{matrix,positioning,arrows.meta,bending}
\newbox\matrixcellbox
\tikzset{math center align per column/.style={nodes={execute at begin
node={\setbox\matrixcellbox=\hbox\bgroup$},
execute at end
node={$\egroup\eqmakebox[\tikzmatrixname\the\pgfmatrixcurrentcolumn][c]{\copy\matrixcellbox}}}},
math center align per matrix/.style={nodes={execute at begin
node={\setbox\matrixcellbox=\hbox\bgroup$},
execute at end
node={$\egroup\eqmakebox[\tikzmatrixname][c]{\copy\matrixcellbox}}}},
3d matrix/.style={matrix of nodes,nodes in empty cells,math center align per
matrix,nodes={draw,anchor=center,outer sep=0pt,inner sep=1pt,
text height={height("\raisebox{0.2ex}{A}")},text depth={depth("g")}},
column sep=-\pgflinewidth,row sep=-\pgflinewidth,execute at end matrix={
\foreach \XX in {1,...,\the\pgfmatrixcurrentcolumn}
{\draw (\tikzmatrixname-1-\XX.north east) -- ++ (#1,#1);}
\ifnum\the\pgfmatrixcurrentrow>1
\foreach \XX in {1,...,\the\numexpr\the\pgfmatrixcurrentrow-1}
{\draw (\tikzmatrixname-\XX-\the\pgfmatrixcurrentcolumn.south east) -- ++ (#1,#1);}
\fi
\draw (\tikzmatrixname-1-1.north west) -- ++ (#1,#1) --
([xshift=1ex,yshift=1ex]\tikzmatrixname-1-\the\pgfmatrixcurrentcolumn.north east) --
([xshift=1ex,yshift=1ex]\tikzmatrixname-\the\pgfmatrixcurrentrow-\the\pgfmatrixcurrentcolumn.south east) --
(\tikzmatrixname-\the\pgfmatrixcurrentrow-\the\pgfmatrixcurrentcolumn.south east);
}},3d matrix/.default=1ex,
Rightarrow/.style={double,double
distance=#1,>={Implies[bend]},shorten <=0.4ex},Rightarrow/.default=1ex}
\begin{document}
\begin{tikzpicture}[node distance=4em]
\node[3d matrix] (mat1){
0 & 0 & 1 & 1 & 0 & 0 & -1 & -1 & 0 & 0 \\
};
\node[3d matrix,above=of mat1] (mat2){
0 & 0 & 1 & 1 & 0 & 0 & -1 & -1 & 0 & 0\\
0 & 0 & -1 & -1 & 0 & 0 & 1 & 1 & 0 & 0\\
};
\node[3d matrix,above=of mat2] (mat3){
0 & 1 & 0 & -1 & 0 \\
0 & -1 & 0 & 1 & 0 \\
};
\node[3d matrix,above=of mat3] (mat4){ 0 & -4 & 0 \\};
\node[3d matrix,above=of mat4] (mat5){ 4 & -4 \\};
\node[3d matrix,above=of mat5] (mat6){ 0.99 & 0.01 \\};
\draw[-{Latex[bend]}] (mat1.east) to[out=0,in=0]
coordinate[near end](aux1) ([xshift=1ex]mat2-1-10.east);
\path (aux1) node[right,above right,3d matrix]{-1 & 0 & 1\\};
\draw[-{Latex[bend]}] (mat1.east) to[out=0,in=0] ([xshift=1ex]mat2-2-10.east);
\draw[Rightarrow,->] (mat1) -- coordinate[midway,right=2em] (aux2) (mat2);
\path (aux2) node[right,3d matrix] (mat1a){1 & 0 & -1 \\};
\draw[Rightarrow,->] (mat2) -- (mat3);
\draw[Rightarrow,->] (mat3) -- (mat4)
coordinate[midway,right=1em] (aux3);
\path (aux3) node[right,3d matrix] (mat3a){-1 & 0 & 1 \\
1 & 0 & -1\\};
\foreach \X in {1,2,3} {\foreach \Y in {1,2}
{\draw[-latex] (mat4-1-\X) -- (mat5-1-\Y);}}
\draw[Rightarrow,->] (mat5) -- (mat6);
\end{tikzpicture}
\end{document}
Hayalgún problemaal intentar agregar una matriz dentro de la construcción de la ruta. Así que agregué coordenadas a lo largo del camino y las usé para colocar la matriz.