```Date: Mar 5, 2013 10:13 PM
Author: Iván Lazaro
Subject: Alternative to Table

Dear group:I'm trying to build a code that evolves a grid of dimension 2gridDim+1over a time timeDim. I managed to build such a code using Table withonly one problem: when the value of timeDim is of thousands, the timeit takes to evaluate is absurd. I tried to find an alternative way towrite this code, using NestList withouth success. NestList is able tohave an interator if I write it like #[[1]]+1, but it doesn't workwhen I use it as an element of a list.I let here a toy working example. Any input would be most appreciated.Iv=E1n.gridDim = 2; timeDim = 3;list = ConstantArray[0, {2, 2*gridDim + 1, timeDim}];Table[list[[1, i, 1]] = Sin[-(gridDim + 1.) + i], {i, 1,   2*gridDim + 1}];Table[list[[2, i, 1]] = RandomReal[{0, 2*Pi}], {i, 1, 2*gridDim + 1}];zUpdate[list_, t_] := Module[{lista},   lista = {};   lista = list;   Table[If[i + 1 > 2*gridDim + 1,     lista[[1, i, t + 1]] = list[[1, i, t]] (list[[2, 1, t]] -list[[2, i - 1, t]]), If[      i - 1 == 0,      lista[[1, i, t + 1]] = list[[1, i, t]] (list[[2, i + 1, t]] -list[[2, 2*gridDim + 1, t]]),      lista[[1, i, t + 1]] = list[[1, i, t]] (list[[2, i + 1, t]] -list[[2, i - 1, t]])]],{i, 1, 2*gridDim + 1}];   lista   ];pUpdate[list_, t_] := Module[{lista},   lista = {};   lista = list;   Table[If[i + 1 > 2*gridDim + 1,     lista[[2, i, t + 1]] = Mod[list[[1, i, t + 1]] (list[[2, 1, t]] -list[[2, i - 1, t]]), 2*Pi],           If[i - 1 == 0,      lista[[2, i, t + 1]] = Mod[list[[1, i, t + 1]] (list[[2, i + 1,t]] - list[[2, 2*gridDim + 1, t]]), 2*Pi],      lista[[2, i, t + 1]] = Mod[ list[[1, i, t + 1]] (list[[2, i + 1,t]] - list[[2, i - 1, t]]), 2*Pi]]], {i, 1, 2*gridDim + 1}];   lista   ];Do[  list = zUpdate[list, i];  list = pUpdate[list, i];, {i, 1, timeDim - 1}];list
```