1. A network comprising: groups of A g,h nodes, each group having a different g that is the same for each A g,h node in that group, g∈{0,1,. .. , G−1} and for each group, h∈{0,1,. .. , H−1}, and each A g,h node operable to output an A g,h data value, wherein network nodes are identified according to a G×H matrix of nodes having a 1 to N adjacency of connections between adjacent nodes in each dimension which includes wrap around adjacent nodes and G≧N and H≧N; groups of R g,h nodes, each group having a different g that is the same for each R g,h node in that group, g∈{0,1,. .. , G−1} and for each group, h∈{0,1,. .. , H−1}, each group of R g,h nodes coupled to a corresponding group of A g,h nodes according to a 1 to N adjacency of connections in a first dimension, wherein each R g,h node is operable to select an A g,h data value from a coupled A g,h node and to output the selected A g,h data value as an R g,h data value; and groups of S g,h nodes, each group having a different g that is the same for each S g,h node in that group, g∈{0,1,. .. , G−1} and for each group, h∈{0,1,. .. , H−1}, each group of S g,h nodes coupled to groups of R g,h nodes according to a 1 to N adjacency of connections in a second dimension, wherein each S g,h node is operable to select an R g,h data value from a coupled R g,h node and to output the selected R g,h data value as an S g,h data value.