I am just curious and looking into data structure that could represent a VERY large 2 dimensional “field” with random access and fast 2d propagation.
the idea is to represent the concept of a field in physics which is essentially a very large 2d array with infinitely small points. any change to the value of a point will modify the values of its neighbors and so on.
how can such data be represented efficiently?
Not so much an answer as an extended comment:
I flat-out disagree with your statement that the concept of a field in physics [] is essentially a very large 2d array with infinitely small points. A field is continuous, for any field there is a value for each point in space-time.
Your (mis-)statement of the nature of a field has led you to assuming that an array is a suitable data structure. This is not a bad assumption; the array (in as many dimensions as you care to wrestle with) is one of the data structures most frequently used in computer programs which compute on fields.
Look inside the computational cores of most of the codes running on most of the world’s supercomputers and you’ll find some variation of the array being used to model a field over a limited volume of space. Frequently the variation employed will be a sparse array, especially for fields which are almost entirely uniform (eg the distribution of mass in the universe) with only local non-uniformities. There is a variety of representations for sparse arrays in common use, Wikipedia will elucidate.