{'fraction_non_alphanumeric': 0.034810363688130314, 'fraction_numerical': 0.01529977672216145, 'mean_word_length': 4.670320333078426, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 2, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Extracting grid cell characteristics from place cell inputs using non-negative principal component analysis

Many recent models study the downstream projection from grid cells to place cells, while recent data have pointed out the importance of the feedback projection. We thus asked how grid cells are affected by the nature of the input from the place cells. We propose a single-layer neural network with feedforward weights connecting place-like input cells to grid cell outputs. Place-to-grid weights are learned via a generalized Hebbian rule. The architecture of this network highly resembles neural networks used to perform Principal Component Analysis (PCA). Both numerical results and analytic considerations indicate that if the components of the feedforward neural network are non-negative, the output converges to a hexagonal lattice. Without the non-negativity constraint, the output converges to a square lattice. Consistent with experiments, grid spacing ratio between the first two consecutive modules is −1.4. Our results express a possible linkage between place cell to grid cell interactions and PCA. DOI: http://dx.doi.org/10.7554/eLife.10094.001


Introduction
The system of spatial navigation in the brain has recently received much attention (Burgess, 2014;Morris, 2015;Eichenbaum, 2015). This system involves many regions, which seem to divide into two major classes: regions such as CA1 and CA3 of the hippocampus, which contain place cells (O'Keefe and Dostrovsky, 1971;O'Keefe and Nadel, 1978), vs. regions, such as the medial-entorhinal cortex (MEC), the presubiculum and the parasubiculum, which contain grid cells, head-direction cells and border cells (Hafting et al., 2005;Boccara et al., 2010;Sargolini et al., 2006;Solstad et al., 2008;Savelli et al., 2008). While the phenomenology of those cells is described in many studies (Derdikman and Knierim, 2014;Tocker et al., 2015), the manner in which grid cells are formed is quite enigmatic. Many mechanisms have been proposed. The details of these mechanisms differ, however, they mostly share in common the assumption that the animal's velocity is the main input to the system (Derdikman and Knierim, 2014;Zilli, 2012;Giocomo et al., 2011), such that positional information is generated by the integration of this input in time. This process is termed 'path integration' (PI) (Mittelstaedt and Mittelstaedt, 1980). A notable exception to this class of models was suggested in a previous paper by Kropff and Treves (2008); and in a sequel to that paper (Si and Treves, 2013), in which they demonstrated the emergence of grid cells from place cell inputs without using the rat's velocity as an input signal.
We note here that generating grid cells from place cells may seem at odds with the architecture of the network, since it is known that place cells reside at least one synapse downstream of grid cells (Witter and Amaral, 2004). Nonetheless, there is current evidence that the feedback from place cells to grid cells is of great functional importance. Specifically, there is evidence that inactivation of place cells causes grid cells to disappear (Bonnevie et al., 2013), and furthermore, it seems that, in development, place cells emerge before grid cells do (Langston et al., 2010;Wills et al., 2010). Thus, there is good motivation for trying to understand how the feedback from hippocampal place cells may contribute to grid cell formation.
In the present paper, we thus investigated a model of grid cell development from place cell inputs. We showed the resemblance between a feedforward network from place cells to grid cells to a neural network architecture previously used to implement the PCA algorithm (Oja, 1982). We demonstrated, both analytically and through simulations, that the formation of grid cells from place cells using such a neural network could occur given specific assumptions on the input (i.e. zero mean) and on the nature of the feedforward connections (specifically, non-negative, or excitatory).

Results
Comparing neural-network results to PCA We initially considered the output of a single-layer neural network and of the PCA algorithm in response to the same inputs. These consisted of the temporal activity of a simulated agent moving around in a two-dimensional (2D) space ( Figure 1A; see Materials and methods for details). In order to mimic place cell activity, the simulated virtual space was covered by multiple 2D Gaussian functions uniformly distributed at random ( Figure 1B), which constituted the input. In order to calculate the principal components, we used a [Neuron x Time] matrix ( Figure 1C) after subtracting the temporal mean, generated from the trajectory of the agent as it moved through the place fields. Thus, we displayed a one-dimensional mapping of the two-dimensional activity, transforming the 2D activity into a 1D vector per input neuron. This resulted in the [Neuron X Neuron] covariance matrix ( Figure 1D), on which PCA was performed by evaluating the appropriate eigenvalues and eigenvectors. eLife digest Long before the invention of GPS systems, ships used a technique called dead reckoning to navigate at sea. By tracking the ship's speed and direction of movement away from a starting point, the crew could estimate their position at any given time. Many believe that some animals, including rats and humans, can use a similar process to navigate in the absence of external landmarks. This process is referred to as "path integration".
It is commonly believed that the brain's navigation system is based on such path integration in two key regions: the entorhinal cortex and the hippocampus. Most models of navigation assume that a network of grid cells in the entorhinal cortex processes information about an animal's speed and direction of movement. The grid cell network estimates the animal's future position and relays this information to cells in the hippocampus called place cells. Individual place cells then fire whenever the animal reaches a specific location. However, recent work has shown that information also flows from place cells back to grid cells. Further experiments have suggested that place cells develop before grid cells. Also, inactivating place cells eliminates the hexagonal patterns that normally appear in the activity of the grid cells.
Using a computational model, Dordek, Soudry et al. now show that place cell activity could in principle trigger the formation of the grid cell network, rather than vice versa. This is achieved using a process that resembles a common statistical algorithm called principal component analysis (PCA). However, this only works if place cells only excite grid cells and never inhibit their activity, similar to what is known from the anatomy of these brain regions. Under these circumstances, the model shows hexagonal patterns emerging in the activity of the grid cells, with similar properties to those patterns observed experimentally.
These results suggest that navigation may not depend solely on grid cells processing information about speed and direction of movement, as assumed by path integration models. Instead grid cells may rely on position-based input from place cells. The next step is to create a single model that combines the flow of information from place cells to grid cells and vice versa.
To learn the grid cells, based on the place cell inputs, we implemented a single-layer neural network with a single output ( Figure 2). Input to output weights were governed by a Hebbian-like learning rule. As described in the Introduction (see also analytical treatment in the Methods section), this type of architecture induces the output's weights to converge to the leading principal component of the input data.
The agent explored the environment for a sufficiently long time allowing the weights to converge to the first principal component of the temporal input data. In order to establish a spatial interpretation of the eigenvectors (from PCA) or the weights (from the converged network) we projected both the PCA eigenvectors and the network weights onto the place cells space, producing corresponding spatial activity maps. The leading eigenvectors of the PCA and the network's weights converged to square-like periodic spatial solutions ( Figure 3A-B).
Being a PCA algorithm, the spatial projections of the weights were periodic in space due to the covariance matrix of the input having a Toeplitz structure (Dai et al., 2009) (a Toeplitz matrix has constant elements along each diagonal). Intuitively, the Toeplitz structure arises due to the spatial stationarity of the input. In fact, since we used periodic boundary conditions for the agent's motion, the covariance matrix was a circulant matrix, and the eigenvectors were sinusoidal functions, with length constants determined by the scale of the box (Gray, 2006) [a circulant matrix is defined by a single row (or column), and the remaining rows (or columns) are obtained by cyclic permutations. It is a special case of a Toeplitz matrix -see for example Figure 1D]. The covariance matrix was heavily degenerate, with approximately 90% of the variance accounted for by the first 15% of the eigenvectors ( Figure 4B). The solution demonstrated a fourfold redundancy. This was apparent in the plotted eigenvalues (from the largest to the smallest eigenvalue, Figure 4A and C), which demonstrated a fourfold grouping-pattern. The fourfold redundancy can be explained analytically by the symmetries of the system -see analytical treatment of PCA in Methods section (specifically Figure 15C).
In summary, both the direct PCA algorithm and the neural network solutions developed periodic structure. However, this periodic structure was not hexagonal but rather had a square-like form.
Adding a non-negativity constraint to the PCA It is known that most synapses from the hippocampus to the MEC are excitatory (Witter and Amaral, 2004). We thus investigated how a non-negativity constraint, applied to the projections from place cells to grid cells, affected our simulations. As demonstrated in the analytical treatment in the  Methods section, we could expect to find hexagons when imposing the non-negativity constraint. Indeed, when adding this constraint, the outputs behaved in a different manner and converged to a hexagonal grid, similar to real grid cells. While it was straightforward to constrain the neural network, calculating non-negative PCA directly was a more complicated task due to the non-convex nature of the problem (Montanari and Richard, 2014;Kushner and Clark, 1978).
In the network domain, we used a simple rectification rule for the learned feedforward weights, which constrained their values to be non-negative. For the direct non-negative PCA calculation, we used the raw place cells activity (after spatial or temporal mean normalization), as inputs to three different iterative numerical methods: NSPCA (Nonnegative Sparse PCA), AMP (Approximate Message Passing) and FISTA (Fast Iterative Threshold and Shrinkage) based algorithms (see Materials and methods section).
In both cases, we found that hexagonal grid cells emerged in the output layer (plotted as spatial projection of weights and eigenvectors: Figure 5A-B, Figure 6A-B, Video 1, Video 2). When we repeated the process over many simulations (i.e. new trajectories and random initializations of weights) we found that the population as a whole consistently converged to hexagonal grid-like responses, while similar simulations with the unconstrained version did not (compare Figure 3 to In order to further assess the hexagonal grid emerging in the output, we calculated the mean (hexagonal) Gridness scores ( [Sargolini et al., 2006], which measure the degree to which the solution resembles a hexagonal grid [see Materials and methods]). We ran about 1500 simulations of the network (in each simulation, the network consisted of 625 place cell-like inputs and a single grid celllike output), and found noticeable differences between the constrained and unconstrained cases. Namely, the Gridness score in the non-negatively constrained-weight simulations was significantly higher than in the unconstrained-weight case (Gridness = 1.07 ± 0.003 in the constrained case vs. 0.302 ± 0.003 in the unconstrained case. see Figure 7). A similar difference was observed with the direct non-negative PCA methods (1500 simulations, each with different trajectories, Gridness = 1.13 ± 0.0022 in the constrained case vs. 0.27 ± 0.0023 in the unconstrained case).
Another score we tested was a 'Square Gridness' score (see Materials and methods) where we measured the 'Squareness' of the solutions (as opposed to 'Hexagonality'). We found that the unconstrained network had a higher square-Gridness score while the constrained network had a lower square-Gridness score ( Figure 7); for both the direct-PCA calculation (square-Gridness = 0.89 ± 0.0074 in the unconstrained case vs. 0.1 ± 0.006 in the constrained case) and the neural-network (square-Gridness = 0.073 ± 0.006 in the constrained case vs. 0.73 ± 0.008 in the unconstrained case). . Eigenvalues and eigenvectors of the input's correlation matrix. (A) Eigenvalue size (normalized by the largest, from large to small (B) Cumulative explained variance by the eigenvalues, with 90% of variance accounted for by the first 35 eigenvectors (out of 625). (C) Amplitude of leading 32 eigenvalues, demonstrating that they cluster in groups of 4 or 8. Specifically, the first four clustered groups correspond respectively (from high to low) to groups A,B,C & D In Figure 15C, which have the same redundancy (4,8,4 & 4). DOI: 10.7554/eLife.10094.006 All in all, these results suggest that when direct PCA eigenvectors and neural network weights were unconstrained they converged to periodic square solutions. However, when constrained to be non-negative, the direct PCA, and the corresponding neural network weights, both converged to a hexagonal solution.
Dependence of the result on the structure of the input We investigated the effect of different inputs on the emergence of the grid structure in the networks' output. We found that some manipulation of the input was necessary in orderto enable the implementation of PCA in the neural network. Specifically, PCA requires a zero-mean input, while simple Gaussian-like place cells do not possess this property. In order to obtain input with zeromean, we either performed differentiation of the place cells' activity in time, or used a Mexican-hat like (Laplacian) shape (See Materials and methods for more details on the different types of inputs). Another option we explored was the usage of positive-negative disks with a total sum of zero activity in space ( Figure 8). The motivation for the use of Mexican-hat like transformations is their abundance in the nervous system (Wiesel and Hubel, 1963;Enroth-Cugell and Robson, 1966;Derdikman et al., 2003).
We found that usage of simple 2-D Gaussian-functions as inputs did not generate hexagonal grid cells as outputs ( Figure 9). On the other hand, time-differentiated inputs, positive-negative disks or Laplacian inputs did generate grid-like output cells, both when running the non-negative PCA directly ( Figure 6), or by simulating the non-negatively constrained Neural Network ( Figure 5). Another approach we used for obtaining zero-mean was to subtract the mean dynamically from every output individually (see Materials and methods). The latter approach, related to adaptation of the firing rate, was adopted from Kropff & Treves (Kropff and Treves, 2008), who used it to control various aspects of the grid cell's activity. In addition to controlling the firing rate of the grid cells, if applied correctly, the adaptation could be exploited to keep the output's activity stable, with zeromean rates. We applied this method in our system and in this case the outputs converged to hexagonal grid cells as well, similarly to the previous cases (e.g. derivative in time, or Mexican hats as inputs; data not shown).
In summary, two conditions were required for the neural network to converge to spatial solutions resembling hexagonal grid cells: (1) non-negativity of the feedforward weights and (2) an effective zero-mean of the inputs (in time or space).

Stability analysis Convergence to hexagons from various initial spatial conditions
In order to numerically test the stability of the hexagonal solution, we initialized the network in different ways, randomly, using linear stripes, squares, rhomboids (squares on hexagonal lattice) and noisy hexagons. In all cases, the network converged to a hexagonal pattern ( Figure 10; for squares and stripes, other shapes not shown here).
We also ran the converged weights in a new simulation with novel trajectories and tested the Gridness scores, and the inter-trial stability in comparison to previous simulations. We found that the hexagonal solutions of the network remained stable although the trajectories varied drastically (data not shown).

Asymptotic stability of the equilibria
Under certain conditions (e.g., decaying learning rates and independent and identically distributed (i.i.d.) inputs), it was previously proved (Hornik and Kuan, 1992), using techniques from the theory of stochastic approximation, that the system described here can be asymptotically analyzed in terms of (deterministic) Ordinary Differential Equations (ODE), rather than in terms of the stochastic recurrence equations. Since the ODE defining the converged weights is non-linear, we solved the ODEs numerically (see Materials and methods), by randomly initializing the weight vector. The asymptotic equilibria were reached much faster, compared to the outcome of the recurrence equations. Similarly to the recurrence equations, constraining the weights to be non-negative induced them to converge into a hexagonal shape while a non-constrained system produced square-like outcomes ( Figure 11).
Simulation was run 60 times, with 400 outputs per run. 60˚Gridness score mean was 1.1 ± 0.0006 when weights were constrained and 0.29 ± 0.0005 when weights were unconstrained. 90˚Gridness score mean was 0.006 ± 0.002 when weights were constrained and 0.8 ± 0.0017 when weights were unconstrained.

Effect of place cell parameters on grid structure
A more detailed view of the resulting grid spacing showed that it was heavily dependent on the field widths of the place cells inputs. When the environment size was fixed and the output calculated per input size, the grid-spacing (distance between neighboring peaks) increased for larger place cell field widths.
To enable a fast parameter sweep over many place cell field widths (and large environment sizes), we took the steady state limit, and the limit of a high density of place cell locations, and used the fast FISTA algorithm to solve the non-negative PCA problem (see Materials and methods section).
We performed multiple simulations, and found that there was a simple linear dependency between the place field size and the output grid scale. For the case of periodic boundary conditions, we found that grid scale was S = 7.5sigma+0.85, where sigma was the width of the place cell field ( Figure 12A). For a different set of simulations with zero boundary conditions, we achieved a similar relation: S=7.54sigma+0.62 (figure not shown). Grid scale was more dependent on place field size and less on box size ( Figure 12H). We note that for very large environments, the effects of boundary conditions diminishes. At this limit, this linear relation between place field size and grid scale can be explained from analytical considerations (see Materials and methods section). Intuitively, this follows from dimensional analysis: given an infinite environment, at steady state the length scale of the place cell field width is the only length scale in the model, so any other length scale must be proportional to this scale. More precisely, we can provide a lower bound for the linear fit ( Figure 12A), which depends only on the tuning curve of the place cells (see Materials and methods section). This lower bound was derived for periodic boundary conditions, but works well even with zero boundary conditions (not shown).
Furthermore, we found that the grid orientation varied substantially for different place cell field widths, in the possible range of 0-15 degrees ( Figure 12C,D). For small environments, the orientation strongly depended on the boundary conditions. However, as described in the Methods section, analytical considerations suggest that as the environment grows, the distribution of grid orientations becomes uniform in the range of 0-15 degrees, with a mean at 7.5˚. Intuitively, this can be explained by rotational symmetry -when the environment size is infinite, all directions in the model are equivalent, and so we should get all orientations with equal probability, if we start the model from a uniformly random initialization. In addition, grid orientation was not a clear function of the gridness of the obtained grid cells ( Figure 12B). For large enough place cells, gridness was larger than 1 ( Figure 12E-G).

Modules of grid cells
It is known that in reality grid cells form in modules of multiple spacings (Barry et al., 2007;Stensola et al., 2012). We tried to address this question of modules in several ways. First, we used different widths for the Gaussian/Laplacian input functions: Initially, we placed a heterogeneous population of widths in a given environment (i.e., uniformly random widths) and ran the single-output network 100 times. The distribution of grid spacings was almost comparable to the results of the largest width if applied alone, and did not exhibit module like behavior. This result is not surprising when thinking about a small place cell overlapping in space with a large place cell. Whenever the agent passes next to the small one, it activates both weights via synaptic learning. This causes the large firing field to overshadow the smaller one. Additionally, when using populations of only two widths of place fields, the grid spacings were dictated by the size of the larger place field (data not shown).
The second option we considered was to use a multi-output neural network, capable of computing all 'eigenvectors' rather than only the principal 'eigenvector' (where by 'eigenvector' we mean here the vectors achieved under the positivity constraint, and not the exact eigenvectors themselves). We used a hierarchical network implementation introduced by Sanger, 1989 (see Materials and methods). Since the 1 st output's weights converged to the 1 st 'eigenvector', the network ( Figure 13A-B) provided to the subsequent outputs (2 nd , 3 rd , and so forth) a reduced-version of the data from which the projection of the 1 st 'eigenvector' has been subtracted out. This process, reminiscent of Gram-Schmidt orthogonalization, was capable of computing all 'eigenvectors' (in the modified sense) of the input's covariance matrix. It is important to note though that, due to the nonnegativity constraint, the vectors achieved in this way were not orthogonal, and thus it cannot be considered a real orthogonalization process, although, as explained in the Methods section, the process does aim for maximum difference between the vectors. When constrained to be non-negative, and using the same homogeneous 'place cells' as in the previous network, the networks' weights converged to hexagonal shapes. Here, however, we found that the smaller the 'eigenvalue' was (or the higher the principal component number) the denser the grid became. We were able to identify two main populations of grid-distance 'modules' among the hexagonal spatial solutions with high Gridness scores (>0.7, Figure 14A-B). In addition, we found that the ratio between the distances of the modules was À1.4, close to the value of 1.42 found by Stensola et al. (Stensola et al., 2012). Although we searched for additional such jumps, we could only identify this single jump, suggesting that our model can yield up to two 'modules' and not more. The same process was repeated using the direct PCA method, utilizing the covariance matrix of the data after simulation as input for the non-negative PCA algorithms, and considering their ability to calculate only the 1 st 'eigenvector'. By iteratively projecting the 1 st 'eigenvector' on the simulation data and subtracting the outcome from the original data, we applied the non-negative PCA algorithm to the residual data obtaining the 2 nd 'eigenvector' of the original data. This 'eigenvector' now constituted the 1 st eigenvector' of the new residual data (see Materials and methods). Applying this process to as many 'outputs' as needed, we obtained very similar results to the ones presented above using the neural network (data not shown).

Discussion
In our work, we explored the nature and behavior of the feedback projections from place cells to grid cells. We shed light on the importance of this relation and showed, both analytically and in simulation, how a simple single-layer neural network could produce hexagonal grid cells when subjected to place cell-like temporal input from a randomly-roaming moving agent. We found that the network resembled a neural network performing PCA (Oja, 1982), with the constraint that the weights were non-negative. Under these conditions, and also under the requirements that place cells have a zero mean in time or space, the first principal component in the 2D arena had a firing pattern resembling a hexagonal grid cell. Furthermore, we found that in the limit of very large arenas, grid orientation converged to a uniform distribution in range of 0-15˚. When looking at additional components, grid scale tends to be discretely clustered, such that two modules emerge. This is partially consistent with current experimental findings (Stensola et al., 2012;. Furthermore, the inhibitory connectivity between multiple grid cells is consistent with the known functional anatomy in this network (Couey et al., 2013). Place-to-Grid as a PCA network As a consequence of the requirements for PCA to hold, we found that the place cell input needed to have a zero-mean, otherwise the output was not periodic. Due to the lack of the zero-mean property in 2D Gaussians, we used various approaches to impose zero-mean on the input data. The first, in the time domain, was to differentiate the input and use the derivatives (a random walk produces zero-mean derivatives) as inputs. Another approach was to dynamically subtract the mean in all iterations of the simulation. This approach was reminiscent of the adaptation procedure suggested in the Kropff & Treves paper (Kropff and Treves, 2008). A third approach, applied in the spatial domain was to use inputs with a zero-spatial mean such as Laplacians of Gaussians (Mexican hats in 2D, or differences-of-Gaussians) or negative -positive disks. Such Mexican-hat inputs are quite typical in the nervous system (Wiesel and Hubel, 1963;Enroth-Cugell and Robson, 1966;Derdikman et al., 2003), although in the case of place cells it is not completely known how they are formed. They could be a result of interaction between place cells and the vast number of inhibitory interneurons in the local hippocampal network (Freund and Buzsáki, 1996).
Another condition we found crucial, which was not part of the original PCA network, was a nonnegativity constraint on the place-to-grid learned weights. While rather easy to implement in the network, adding this constraint to the non-convex PCA problem was harder to implement. Since the problem is NP-hard (Montanari and Richard, 2014), we turned to numerical methods. We used three different algorithms (Montanari and Richard, 2014;Zass and Shashua, 2006;Beck and Teboulle, 2009) to find the leading 'eigenvector' of every given temporal based input. As shown in the results section, both processes (i.e. direct PCA and the neural network) resulted in hexagonal outcomes when the non-negativity and zero-mean criteria were met. Note that the ease of use of the neural network for solving the positive PCA problem is a nice feature of the neural network implementation, and should be investigated further.
We also note that while our network focused on the projection from place cells to grid cells, we cannot preclude the importance of the reciprocal projection from grid cells to place cells. Further study will be needed to 'close the loop' and simultaneously consider both of these projections at once.

Similar studies
We note that similar work has noticed the relation between place-cell-to-grid-cell transformation and PCA. Notably, Stachenfeld et al., (2014) have demonstrated, from considerations related to reinforcement learning, that grid cells could be related to place cells through a PCA transformation. However, due to the unconstrained nature of their transformation, the resulting grid cells were square-like. Furthermore, there has been an endeavor to model the transformation from place cells to grid cells using independent-component-analysis (Franzius et al., 2007).
We also note that there is now a surge of interest in the feedback projection from place cells to grid-cells, which is inverse to the anatomical downstream direction from grid cells to place cells (Witter and Amaral, 2004) that has guided most of the models to-date (Zilli, 2012;Giocomo et al., 2011). In addition to several papers from the Treves group, in which the projection from place cells to grid cells is studied (Kropff and Treves, 2008;Si and Treves, 2013), there has been also recent work from other groups as well exploring this direction (Castro and Aguiar, 2014;Stepanyuk, 2015). As far as we are aware, none of the previous studies noted the importance of the nonnegativity constraint and the requirement of zero mean input. Additionally, to the best of our knowledge, the analytic results and insights provided in this work (see Materials and methods) are novel, and provide a mathematically consistent explanation for the emergence of hexagonally-spaced grid cells.

Predictions of our model
Based on the findings of this work, it is possible to make several predictions. First, the grid cells must receive zero-mean input over time to produce hexagonally shaped firing patterns. With all feedback projections from place cells being excitatory, the lateral inhibition from other neighboring grid cells might be the balancing parameter to achieve the temporal zero-mean (Couey et al., 2013). Alternatively, an adaptation method, such as the one suggested in Kropff and Treves, (2008) may be applied. Second, if indeed the grid cells are a lower dimensional representation of the place cells in a PCA form, the place-to-grid neural weights distribution should be similar across identically spaced grid cell populations. This is because all grid cells with similar spacing would have maximized the variance over the same input, resulting in similar spatial solutions. As an aside, we note that such a projection may be a source of phase-related correlations in grid cells (Tocker et al., 2015). Third, we found a linear relation between the size of the place cells and the spacing between grid cells. Furthermore, the spacing of the grid cells is mostly determined by the size of the largest place cell -predicting that the feedback from large place cells is not connected to grid cells with small spacing. Fourth, we found modules of different grid spacings in a hierarchical network with the ratio of distances between successive units close to H2. This result is in accordance with the ratio reported in Stensola et al., (2012). However, we note that there is a difference between our results and experimental results because the analysis predicts that there should only be two modules, while the data show at least 5 modules, with a range of scales, the smallest and most numerous having approximately the scale of the smaller place fields found in the dorsal hippocampus (25-30 cm). Fifth, for large enough environments our model suggests that, from mathematical considerations, the grid orientation should approach a uniform orientation in the possible range of 0-15˚. This is in discrepancy with experimental results which measure a peak at 7.5˚, and not a uniform distribution (Stensola et al., 2015). As noted, the discrepancies between our results and reality may relate to the fact that a more advanced model will have to take into account both the downstream projection from grid cells to place cells together with the upstream projection from place cells to grid cells discussed in this paper. Furthermore, such a model will have to take into account the non-uniform distribution of place-cell widths (Kjelstrup et al., 2008).

Why hexagons?
In light of our results, we further asked what is special about the hexagonal shape which renders it a stable solution. Past works have demonstrated that hexagonality is optimal in terms of efficient coding. Two recent papers have addressed the potential benefit of encoding by grid cells. Mathis et al., (2015) considered the decoding of spatial information based on a grid-like periodic representation. Using lower bounds on the reconstruction error based on a Fisher information criterion, they demonstrated that hexagonal grids lead to the highest spatial resolution in two dimensions (extensions to higher dimensions were also provided). The solution is obtained by mapping the problem onto a circle packing problem. The work of Wei et al., (2013) also took a decoding perspective, and showed that hexagonal grids minimize the number of neurons required to encode location with a given resolution. Both papers offer insights into the possible information theoretic benefits of the hexagonal grid solution. In the present paper, we were mainly concerned with a specific biologically motivated learning (development) mechanism that may yield such a solution. Our analysis suggests that the hexagonal patterns can arise as a solution that maximizes the grid cell output variance, under non-negativity constraints. In Fourier space, the solution is a hexagonal lattice with lattice constant near the peak of the Fourier transform of the place cell tuning curve (Figures 15  and 16; see Materials and methods).
To conclude, this work demonstrates how grid cells could be formed from a simple Hebbian neural network with place cells as inputs, without needing to rely on path-integration mechanisms.

Materials and methods
All code was written in MATLAB, and can be obtained on https://github.com/derdikman/Dordek-etal.-Matlab-code.git or on request from authors.

Neural network architecture
We implemented a single-layer neural network with feedforward connections that was capable of producing a hexagonal-like output (Figure 2). The feedforward connections were updated according to a self-normalizing version of a Hebbian learning rule referred to as the Oja rule (Oja, 1982), where " t denotes the learning rate, J t i is the i th weight and t ; r t i are the output and the i th input of the network, respectively (all at time t). The weights were initialized randomly according to a uniform distribution and then normalized to have norm 1. The output t was calculated every iteration by summing up all pre-synaptic activity from the entire input neuron population. The activity of each output was processed through a sigmoidal function (e.g., tanh) or a simple linear function. Formally, where n is the number of input place cells. Since we were initially only concerned with the eigenvector associated with the largest eigenvalue, we did not implement a multiple-output architecture. In this formulation, in which no lateral weights were used, multiple outputs were equivalent to running the same setting with one output several times. As discussed in the introduction, this kind of simple feedforward neural network with linear activation and a local weight update in the form of Oja's rule (1) is known to perform Principal Components Analysis (PCA) (Oja, 1982;Sanger, 1989;Weingessel and Hornik, 2000). In the case of a single output the feedforward weights converge to the principal eigenvector of the input's covariance matrix. With several outputs, and lateral weights, as described in the section on modules, the weights converge to the leading principal eigenvectors of the covariance matrix, or, in certain cases (Weingessel and Hornik, 2000), to the subspace spanned by the principal eigenvectors. We can thus compare the results of the neural network to those of the mathematical procedure of PCA. Hence, in our simulation, we (1) let the neural networks' weights develop in real time based on the current place cell inputs. In addition, we (2) saved the input activity for every time step to calculate the input covariance matrix and perform (batch) PCA directly.
It is worth mentioning that the PCA solution described in this section can be interpreted differently based on the Singular Value Decomposition (SVD). Denoting by R the T Â d spatio-temporal pattern of place cell activities (after setting the mean to zero), where T is the time duration and d is the number of place cells, the SVD decomposition (see Jolliffe, 2002;sec. 3 For a matrix R of rank r, L is a r Â r diagonal matrix whose kth element is equal to l k 1=2 , the square root of the kth eigenvalue of the covariance matrix RR 0 (computed in the PCA analysis), A is the d Â r matrix with kth column equal to the kth eigenvector of RR 0 , and U is the T Â r matrix whose kth column is l À1=2 k Ra k . Note that U is a T Â r dimensional matrix whose kth column represents the temporal dynamics of the k th grid cell. In other words, the SVD provides a decomposition of the place cell activity in terms of the grid cell activity, as opposed to the grid cell representation in terms of place cell activity we discussed so far. The network learns the spatial weights over place cells (the eigenvectors) as the connections weights from the place cells, and 'projection onto place cell space' (l À1=2 k Ra k ) is simply the firing rates of the output neuron plotted against the location of the agent. The question we therefore asked was under what conditions, when using place cell-like inputs, a solution resembling hexagonal grid cells emerges. To answer this we used both the neural-network implementation and the direct calculation of the PCA coefficients.

Simulation
We simulated an agent moving in a 2D virtual environment consisting of a square arena covered by n uniformly distributed 2D Gaussian-shaped place cells, organized on a grid, given by where XðtÞ represents the location of the agent. The variables r t i constitute the temporal input from place cell i at time t, and C i ; s i are the i th place cell's field center and width, respectively (see variations on this input structure below). In order to eliminate boundary effects, periodic boundary conditions were assumed. The virtual agent moved about in a random walk scheme (see Appendix) and explored the environment ( Figure 1A). The place cell centers were assumed to be uniformly distributed ( Figure 1B) and shared the same standard deviation s. The activity of all place cells as a function of time ðrðtÞ 1 ; rðtÞ 2 . . . rðtÞ n Þ was dependent on the stochastic movement of the agent, and formed a [Neuron x Time] matrix (r 2 R nxT , with T-being the time dimension, see Figure 1C).
The simulation was run several times with different input arguments (see Table 1). The agent was simulated for T time steps, allowing the neural network's weights to develop and reach a steady state by using the learning rule (Equations 1,2) and the input (Equation 3) data. The simulation parameters are listed below and include parameters related to the environment, simulation, agent and network variables.
To calculate the PCA directly, we used the MATLAB function Princomp in order to evaluate the n principal eigenvectors fq k g n k¼1 and corresponding eigenvalues of the input covariance matrix. As mentioned in the Results section, there exists a near fourfold redundancy in the eigenvectors (X-Y axis and in phase). Figure 3 demonstrates this redundancy by plotting the eigenvalues of the covariance matrix. The output response of each eigenvectorq k corresponding to a 2D input location ðx; yÞ is ðy À c j y Þ 2 2s 2 y ! ; k ¼ 1; 2; :::; n (4)  where c j x and c j y are the x; y components of the centers of the individual place cell fields. Unless otherwise mentioned, we used place cells in a rectangular grid, such that a place cell is centered at each pixel of the image (that is -number of place cells equals the number of image pixels).

Non-negativity constraint
Projections between place cells and grid cells are known to be primarily excitatory (Witter and Amaral, 2004), thus if we aim to mimic the biological circuit, a non-negativity constraint should be added to the feedforward weights in the neural network. While implementing a non-negativity constraint in the neural network is rather easy (a simple rectification rule in the weight dynamics, such that weights which are smaller than 0 are set to 0), the equivalent condition for calculating non-negative Principal Components is more intricate. Since this problem is non-convex and, in general, NP-hard (Montanari and Richard, 2014), a numerical procedure was imperative. We used three different algorithms for this purpose.
The first (Zass and Shashua, 2006) named NSPCA (Nonnegative Sparse PCA) is based on coordinate-descent. The algorithm computes a non-negative version of the covariance matrix's eigenvectors and relies on solving a numerical optimization problem, converging to a local maximum starting from a random initial point. The local nature of the algorithm did not guarantee a convergence to a global optimum (recall that the problem is non-convex). The algorithm's inputs consisted of the place cell activities' covariance matrix, a -a balancing parameter between reconstruction and orthonormality, b -a variable which controls the amount of sparseness required, and an initial solution vector. For the sake of generality, we set the initial vector to be uniformly random (and normalized), a was set to a relatively high value -10 4 and since no sparseness was needed, b was set to zero.
The second algorithm (Montanari and Richard, 2014) does not require any simulation parameters except an arbitrary initialization. It works directly on the inputs and uses a message passing algorithm to define an iterative algorithm to approximately solve the optimization problem. Under specific assumptions it can be shown that the algorithm asymptotically solves the problem (for large input dimensions).
The third algorithm we use is the parameter free Fast Iterative Threshold and Shrinkage algorithm FISTA (Beck and Teboulle, 2009). As described later in this section, this algorithm is the fastest of the three, and allowed us rapid screening of parameter space.

Different variants of input structure
Performing PCA on raw data requires the subtraction of the data mean. Some thought was required in order to determine how to perform this subtraction in the case of the neural network.
One way to perform the subtraction in the time domain was to dynamically subtract the mean during simulation by using the discrete 1 st or 2 nd derivatives of the inputs in time [i.e. from Equation 3, Drðt þ 1Þ ¼ rðt þ 1Þ À r t ð Þ]. Under conditions of an isotropic random walk (namely, given any starting position, motion in all directions is equally likely) it is clear that E½DrðtÞ ¼ 0. Another option for subtracting the mean in the time domain was the use of an adaptation variable, as was initially introduced by Kropff and Treves, (2008). Although originally exploited for control over the firing rate, it can be viewed as a variable that represents subtraction of a weighted sum of the firing rate history. Instead of using the inputs r t i directly in Equation 2 to compute the activation t , an intermediate adaptation variable t adp ðdÞ was used (d being the relative significance of the present temporal sample) as It is not hard to see that for i.i.d. variables t adp , the sequence t converges for large t to the mean of t . Thus, when tÀ!¥ we find that E½ t adp À!0, specifically, the adaptation variable is of zero asymptotic mean.
The second method we used to enforce a zero mean input was simply to create it in advance. Rather than using 2D Gaussian functions (i.e. [Equation 3]) as inputs we used 2D difference-of-Gaussians (all s are equal in x and y axis): where the constants c 1 and c 2 are set so the integral of the given Laplacian function is zero (if the environment size is not too small, then c 1;i =c 2;i » s 2;i =s 1;i ). Therefore, if we assume a random walk that covers the entire environment uniformly, the temporal mean of the input would be zero as well. Such input data can be inspired by similar behavior of neurons in the retina and the lateral-geniculate nucleus (Wiesel and Hubel, 1963;Enroth-Cugell and Robson, 1966). Finally, we implemented another input data type; positive-negative disks (see Appendix). Analogously to the difference-of-Gaussians function, the integral over input is zero so the same goal (zero-mean) was achieved. It is worthwhile noting that subtracting a constant from a simple Gaussian function is not sufficient since at infinity it does not reach zero.

Quality of solution and Gridness
In order to test the hexagonality of the results we used a hexagonal Gridness score (Sargolini et al., 2006). The Gridness score of the spatial fields was calculated from a cropped ring of their autocorrelogram including the six maxima closest to the center. The ring was rotated six times, 30 per rotation, reaching in total angles of 30 ; 60 ; 90 ; 120 ; 150 . Furthermore, for every rotated angle the Pearson correlation with the original un-rotated map was obtained. Denoting by C g the correlation for a specific rotation angle g, the final Gridness score was (Kropff and Treves, 2008): In addition to this 'traditional' score we used a Squareness Gridness score in order to examine how square-like the results are spatially. The special reference to the square shape was driven by the tendency of the spatial solution to converge to a rectangular shape when no constrains were applied. The Squareness Gridness score is similar to the hexagonal one, but now the cropped ring of the autocorrelogram is rotated 45 every iteration to reach angles of 45 ; 90 ; 135 . As before, denoting C g as the correlation for a specific rotation angle g the new Gridness score was calculated as: All errors calculated in gridness measures are SEM (Standard Error of the Mean).

Hierarchical networks and modules
As described in the Results section, we were interested to check whether a hierarchy of outputs could explain the module phenomenon described for real grid cells. We replaced the single-output network with a hierarchical, multiple outputs network, which is capable of computing all 'principal components' of the input data while maintaining the non-negativity constraint as before. The network, introduced by Sanger, 1989, computes each output as a linear summation of the weighted inputs similar to Equation 2. However, the weights are now calculated according to: The first term in the parenthesis when k ¼ 1 was the regular Hebb-Oja derived rule. In other words, the first output calculated the first non-negative 'principal component' (in inverted commas due to the non-negativity) of the data. Following the first one, the weights of each output received a back projection from the previous outputs. This learning rule applied to the data in a similar manner to the Gram-Schmidt process, subtracting the 'influence' of the previous 'principal components' on the data and recalculating the appropriate 'principal components' of the updated input data.
In a comparable manner, we applied this technique to the input data X in order to obtain nonnegative 'eigenvectors' from the direct nonnegative-PCA algorithms. We found V 2 by subtracting from the data the projection of V 1 on it, Next, we computed V 2 , the first non-negative 'principal component' ofX, and similarly the subsequent ones.

Stability of hexagonal solutions
In order to test the stability of the solutions we obtained under all types of conditions, we applied the ODE method (Kushner and Clark, 1978;Hornik and Kuan, 1992;Weingessel and Hornik, 2000) to the PCA feature extraction algorithm introduced in pervious sections. This method allows one to asymptotically replace the stochastic update equations describing the neural dynamics by smooth differential equations describing the average asymptotic behavior. Under appropriate conditions, the stochastic dynamics converge with probability one to the solution of the ODEs. Although originally this approach was designed for a more general architecture (including lateral connections and asymmetric updating rules), we used a restricted version for our system. In addition, the following analysis is accurate solely for linear output functions. However, since our architecture works well with either linear or non-linear output functions, the conclusions are valid.
We can rewrite the relevant updating equations of the linear neural network (in matrix form), (see [Weingessel and Hornik, 2000] Equations 15-19): In our case we set Consider the following assumptions 1. The input sequence r t consists of independent identically distributed, bounded random variables with zero-mean. 2. f" t g is a positive number sequence satisfying: A typical suitable sequence is " t ¼ 1 t ; t ¼ 1; 2 . . .. For long times, we denote E½ t ðr t Þ T À!E½JÁrÁr T ¼ E½JÁE½rÁr T ¼ JS; (14) The penultimate equalities in these equations used the fact that the weights converge with probability one to their average value, resulting from the solution of the ODEs. Following Weingessel and Hornik, (2000), we can analyze Equations 12,13 under the above assumptions, via their asymptotically equivalent associated ODEs with equilibria at We solved it numerically by exploiting the same covariance matrix and initializing with random weights J. In line with our previous findings, we found that constraining J to be non-negative (by a simple cut-off rule) resulted in a hexagonal shape (in the projection of J onto the place cells space; Figure 11). In contrast, when the weights were not constrained they converged to square-like results.

Steady state analysis
From this point onwards, we focus on the case of a single output, in which J is a row vector, unless stated otherwise. In the unconstrained case, from Equation 17 any J which is a normalized eigenvector of S would be a fixed point. However, from Equation 16, only the principal eigenvector, which is the solution to the following optimization problem max J:J T J¼1 JSJ T (18) would correspond to a stable fixed point. This is the standard PCA problem. By adding the constraint J ! 0 we get the non-negative PCA problem. To speed up simulation and simplify analysis we make further simplifications. First, we assume that the agent's random movement is ergodic (e.g., an isotropic random walk in a finite box as we used in our simulation), uniform and covering the entire environment, so that where x denotes location vector (in contrast to XðtÞ, which is the random process corresponding to the location of the agent), S is the entire environment, and jSj is the size of the environment. Second, we assume that the environment S is uniformly and densely covered by identical place cells, each of which has the same a tuning curve rðxÞ (which integrates to zero). In this case, the activity of the linear grid cell becomes a convolution operation where JðxÞ is the synaptic weight connecting to the place cell at location x. Thus, we can write our objective as under the constraint that the weights are normalized where either JðxÞ 2 R (PCA) or JðxÞ ! 0 ('non-negative PCA').
Since we expressed the objective using a convolution operation (different boundary conditions can be assumed), it can be solved numerically considerably faster. In the non-negative case, we used the parameter free Fast Iterative Threshold and Shrinkage algorithm [FISTA (Beck and Teboulle, 2009); in which we do not use shrinkage, since we only have hard constraints], where the gradient was calculated efficiently using convolutions.
Moreover, as we show in the following sections, if we assume periodic boundary conditions and use Fourier analysis, we can analytically find the PCA solutions, and obtain important insight on the non-negative PCA solutions.

Fourier notation
Any continuously differentiable function f ðxÞ, defined over S¼ D ½0; L D , a 'box' region in D dimensions, with periodic boundary conditions, can be written using a Fourier serieŝ where jSj ¼ L D is the volume of the box and ...;mdÞ2Z D is the reciprocal lattice of S in k-space (frequency space).

PCA solution
Assuming periodic boundary conditions, we use Parseval's identity, and the properties of the convolution, to transform the steady state objective (Equation 21) to its simpler form in the Fourier domain, Similarly, the normalization constraint can also be written in the Fourier domain, Maximizing the objective Equation 24 under this constraint in the Fourier domain, we immediately get that any solution is a linear combination of the Fourier components, where k Ã 2 argmax k2Ŝr ðkÞ; andĴ ðkÞ satisfies the normalization constraint. In the original space, the Fourier components are where f 2 ½0; 2pÞ is a free parameter that determines the phase. Also, since JðxÞ should assume real values, it is composed of real Fourier components This is a valid solution, since rðxÞ is a real-valued function,rðkÞ ¼rðÀkÞ and therefore Àk Ã 2 argmax k2Ŝr ðkÞ.

PCA solution for a difference of Gaussians tuning curve
In this paper we focused on the case where rðxÞ has the shape of a difference of Gaussians (Equation 7), rðxÞ / c 1 exp À kxk 2 2s 2 1 ! À c 2 exp À kxk 2 2s 2 2 !
where c 1 and c 2 are some positive normalization constants, set so that Ð S rðxÞdx ¼ 0 (see appendix). The Fourier transform of rðxÞ is also a difference of Gaussianŝ 8k 2Ŝ, as we show in the appendix. Therefore the value of the Fourier domain objective only depends on the radius kkk, and all solutions k Ã have the same radius kk Ã k. If LÀ!¥, then the k-lat-ticeŜ becomes dense (ŜÀ!R D ) and this radius is equal to which is a unique maximizer, that can be easily obtained numerically. Notice that if we multiply the place cell field width by some positive constant c, then the solution k † will be divided by c. The grid spacing, proportional to 1 k † , would therefore also be multiplied by c. This entails a linear dependency between the place cell field width and the grid cell spacing, in the limit of a large box size ðLÀ!¥Þ. When the box has a finite size, k-lattice discretization also has a (usually small) effect on the grid spacing.
In that case, all solutions k Ã are restricted to be on the finite latticeŜ. Therefore, the solutions k Ã are the points on the latticeŜ for which the radius kk Ã k is closest to k † (see Figure 15B,C).

The degeneracy of the PCA solution
The number of real-valued PCA solutions (degeneracy) in 1D is two, as there are exactly two maxima, k Ã and Àk Ã . The phase f, determines how the components at k Ã and Àk Ã are linearly combined.
However, there are more maxima in the 2D case. Specifically, given a maximum k Ã , we can write ðm; nÞ ¼ L 2p k Ã , where ðm; nÞ 2 Z 2 . Usually there are 7 other different points with the same radius: ðm; ÀnÞ,ðÀm; ÀnÞ,ðÀm; nÞ,ðÀn; ÀmÞ,ðn; ÀmÞ,ðÀn; mÞ and ðn; mÞ, so we will have a degeneracy of eight (corresponding to the symmetries of a square box). This is case of points in group B, shown in Figure 15C.
However, we can also get a different degeneracy. First, if either m ¼ AEn, n ¼ 0 or m ¼ 0 we will have a degeneracy of 4, since then some of the original eight points will coincide (groups A,C and D in Figure 15C). Second, additional points ðk; rÞ can exist such that k 2 þ r 2 ¼ m 2 þ n 2 , (Pythagorean triplets with the same hypotenuse) -for example, 15 2 þ 20 2 ¼ 25 2 ¼ 7 2 þ 24 2 . These points will also appear in groups of four or eight.
Therefore, we will always have a degeneracy which is some multiple of 4. Note that in the full network simulation, the degeneracy is not exact. This is due to the perturbation noise from the agent's random walk as well as the non-uniform sampling of the place cells.
The PCA solution with a non-negative constraint Next, we add the non-negativity constraint JðxÞ ! 0. As mentioned earlier, this constraint renders the optimization problem NP-hard, and prevents us from a complete analytical solution. We therefore combine numerical and mathematical analysis, in order to gain intuition as to why 1. Locally optimal 2D solutions are hexagonal. 2. These solutions have a grid spacing near (4p=ð ffiffi ffi 3 p k † Þ (k † is the peak ofr k ð Þ). where x 0 is a free parameter. This form results from a parameter grid search for M ¼ 1; 2; 3 and 4, under the assumption that LÀ!¥ andrðkÞ is highly peaked. However, our numerical results in the general case ( Figure 16A), using the FISTA algorithm, indicate that the locally optimal solution does not change much even if L is finite, andrðkÞ is not highly peaked. Specifically, it has a similar form SinceĴ ðmk Ã Þ is rapidly decaying ( Figure 16A), effectively only the first few components are nonnegligible, as in Equation 33. This can also be seen in the value of the objective obtained in the parameter scan where the contribution of additional high frequency components to the objective quickly becomes negligible. In fact, the value of the objective cannot increase above 0:25, as we explain in the next section. And so, the main difference between Equations 33 and 34 is the base frequency, k Ã , which is slightly different from k † . As explained in the appendix, the relation between k Ã and k † depends on the k-lattice discretization, as well as on the properties ofrðkÞ.

2D Solutions
The 1D properties, described in the previous section, generalize to the 2D case in the following manner: 1. There is a non-negative DC component ðk ¼ ð0; 0ÞÞ. Interestingly, given these properties of the solution we already get hexagonal patterns, as we explain next.
Similarly to the 1D case, the difference between kk ðiÞ Ã k and k † is affected by lattice discretization, and the curvature ofrðkÞ near k † . To simplify matters, we focus first on the simple case that LÀ!¥ andrðkÞ is sharply peaked around k † . Therefore, the Fourier objective becomes X B i¼1 jĴ k ðiÞ Ã j 2 , so the only Fourier components that appear in the objective are fk ðiÞ Ã g B i¼1 , which have radius k † . We examine the values this objective can have.
All the base components have the same radius. This implies, according to the Crystallographic restriction theorem in 2D, that the only allowed lattice angles (in the range between 0 and 90 degrees) are 0, 60 and 90 degrees. Therefore, there are only three possible lattice types in 2D. Next, we examine the value of the objective for each of these lattice types: 1) Square lattice, in which k ð1Þ Ã ¼ k † ð1; 0Þ; k ð2Þ Ã ¼ k † ð0; 1Þ, up to a rotation. In this case, 2) 1D lattice, in which k ð1Þ Ã ¼ k † ð1; 0Þ, up to a rotation. This is a special case of the square lattice, with a subset ofĴ mx;my equal to zero, so we can write, as we did in the 1D case Therefore, the same objective upper bound, 0:25, holds. Note that some of the solutions we found numerically are close to this bound (Equation 35).
3) Hexagonal lattice, in which the base components are up to a rotation by some angle a. Our parameter scans indicate that the objective value cannot surpass 0:2 in any solution composed of only the base hexgonal components fk ðmÞ Ã g 3 m¼1 and a DC component. However, taking into account also some higher order lattice components, we can find a better solution, with an objective value of 0:2558. Though this is not necessarily the optimal solution, it surpasses any possible solutions on the other lattice types (bounded below 0:25, as we proved in the appendix). Specifically, this solution is composed of the base vectors fk ðmÞ Ã g 3 m¼1 and their harmonics Ã . Also,Ĵ 0 ¼ 0:6449, J 1 ¼Ĵ 2 ¼Ĵ 3 ¼ 0:292,Ĵ 4 ¼Ĵ 5 ¼Ĵ 6 ¼ À0:0101 andĴ 7 ¼Ĵ 8 ¼ À0:134.
Thus, any optimal solution must be on the hexagonal lattice, given our approximations. In practice, the lattice hexagonal basis vectors do not have exactly the same radius, and, as in the 1D case, this radius is somewhat smaller then k † , due to the lattice discretization, and due to thatrðkÞ is not sharply peaked. However, the resulting solution lattice is still approximately hexagonal in k-space.
For example, this can be seen in the numerically obtained solution in Figure 16B -where the strongest non-DC Fourier components form an approximate hexagon near k † , from the Fourier components A, defined in Figure 17.

Grid spacing
In general, we get a hexagonal grid pattern in x-space. If all base Fourier components have a radius of k † , then the grid spacing in x-space would be 4p=ð ffiffi ffi 3 p k † Þ. Since the radius of the basis vectors can be smaller than k † , the value of 4p=ð ffiffi ffi 3 p k † Þ is a lower bound to the actual grid spacing (as demonstrated in Figure 12A), up to lattice discretization effects.

Grid alignment
The angle of the hexagonal grid, a, is determined by the directions of the hexagonal vectors. An angle a is possible, if there exists a k-lattice point k ¼ 2p L ðm; nÞ (with m; n integers), for which p L > ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi 2p L ðm 2 þ n 2 Þ À k 2 Ã q , and then a ¼ arctan n m . Since the hexagonal lattice has rotational symmetry of 60 , we can restrict a to be in the range À30 a 30 . The grid alignment, which is the minimal angle of the grid with the box boundaries is given by which is limited to the range ½0 ; 15 , since À30 a 30 . There are usually several possible grid alignments which are (approximately) rotated versions of each other (i.e., different a). Note that, due to the k-lattice discretization, different alignments can result in slightly different objective values. However, the numerical algorithms we used to solve the optimization problem reached many possible grid alignments with a positive probability ( Figure 12C), since we started from a random initialization and converged to a local minimum. Figure 17. The modules in Fourier space. As in Figure 15C, we see a contour plot of the 2D tuning curve Fourier transformrðkÞ and the k-space the peak ofrðkÞ (red circle), and the k-latticeŜ (black circles). The lattice points can be divided into approximately hexgonal shaped groups. Several such groups are marked in blue on the lattice. For example, group A and B are optimal since they are nearest to the red circle. The next best (with the highestvalued contours) group of points, which have an approximate hexgonal shape, is C. Note that group C has a kradius of approximately the optimal radius times ffiffi ffi 2 p (cyan circle). Parameters: 2s 1 ¼ s 2 ¼ 7:5; L ¼ 100. DOI: 10.7554/eLife.10094.022 In the limit LÀ!¥, the grid alignment will become uniform in the range ½0 ; 15 , and the average grid alignment is 7:5 .

Hierarchical networks and modules
There are multiple routes to generalize non-negative PCA with multiple vectors. In this paper we chose to do so using a 'Gramm-Schmidt' like process, which can be written in the following way. First we define, and then, recursively, this process recovers non-negative 'eigenvectors' by subtracting out the previous components, similarly to Sanger's multiple PCA algorithm (Sanger, 1989), and enforcing the non-negativity constraint.
r nþ1 x;y ð Þ ¼ r n x;y ð Þ À ð s r n x;z ð ÞJ n z ð ÞJ n y ð Þdz To analyze this, we write the objectives we maximize in the Fourier domain, using Parseval's Theorem.
For n =1, we recover the old objective (Equation 24): X k2Ŝr ðkÞĴ ðkÞ 2 : For n =2, we get whereĴ Ã is the complex conjugate ofĴ . This objective is similar to the original one, except that it penalizesĴ ðkÞ if its components are similar to those ofĴ 1 ðkÞ. As n increases the objective becomes more and more complicated, but as before, it contains terms which penalizeĴ n ðkÞ if its components are similar to any of the previous solutions (i.e.,Ĵ m ðkÞ for m < n). This form suggests that each new 'eigenvector' tends to occupy new points in the Fourier lattice (similarly to unconstrained PCA solutions). For example, the numerical solution shown in Figure 16B is composed of the Fourier lattice components in group A, defined in Figure 17. A completely equivalent solution would be in group B (it is just a 90 degrees rotation of the first). The next 'eigenvectors' should then include other Fourierlattice components outside groups A and B. Note that components with smaller k-radius cannot be arranged to be hexagonal (not even approximately), so they will have a low gridness score. In contrast, the next components with higher k-radius (e.g., group C) can form an approximately hexagonal shape together, and would appear as an additional grid cell 'module'. The grid spacing of this new module will decrease by ffiffi ffi 2 p , since the new k-radius is about ffiffi ffi 2 p times larger than the k-radius of groups A and B.

Fourier transform of the difference of Gaussians function
Here we prove that if we are given a difference of Gaussians function, ð À 1Þ iþ1 exp À 1 2 s 2 i kÁk : Note that the normalization constants c i vanish after the Fourier transform, and that in the limit L ) s 1 ; s 2 we obtain the standard result for the Fourier transform of an unbounded Gaussian distribution.
Proof: For simplicity of notation, we assume D ¼ 2. However, the calculation is identical for any D.r where in the last equality we used the fact that aL ¼ 2pn (where n is an integer) if a 2Ŝ. Solving this differential equation, we obtain substituting this into our last expression for rðkÞ we obtain Without loss of generality we assume f 1;0 ¼ f 0;1 ¼ 0; k † ¼ 1 (we can always shift and scale x; y). We denote From the non-negativity constraint (2), we must have 8ðx; yÞ 2 C À : Aðx; yÞ ! ÀPðx; yÞ: Also, note that Pðx; yÞ and Aðx; yÞ do not share any common Fourier (cosine) components. Therefore, they are orthogonal, with the inner product being the integral of their product on the region ½0; 2p 2 0 ¼ using the orthogonality of the Fourier components (i.e., Parseval's theorem) to perform the integrals over P 2 ðx; yÞ and A 2 ðx; yÞ, we get