Re: How to construct a vector whose elements are also vectors?

*To*: mathgroup at smc.vnet.net*Subject*: [mg82841] Re: How to construct a vector whose elements are also vectors?*From*: Thomas E Burton <tburton at brahea.com>*Date*: Thu, 1 Nov 2007 05:11:32 -0500 (EST)

Most of us would probably form a single nested list of initialized values like this, m=Table[values[i,j,k],{i,10},{j,10},{k,2}] replacing the function values with whatever works for us. Or if we want to initialize with zeros, m = Table[0, {10}, {10}, {2}] or, using one of version 6's apparently redundant new functions, m=ConstantArray[0,{10,10,2}] In any case, we can access or update the first two elements with the Part function Part[m,1,1] m[[1,1]] m[[1,1]]={1,0} Following your example more closely, I could write Table[(stat[i]=ConstantArray[0,{10,2}]),{i,10}] and access the first two elements with stat[1][[1]] but now I cannot update these elements alone with Part, which will not accept stat[1] as an argument. Instead I can use ReplacePart: ReplacePart[stat[1], 1 -> {1, 0}] Note that elements of stat are accessed by a mixture of arguments (in single brackets) and part specs (in double brackets), whereas in my first example above, elements of m are accessed only by part specs. You may get an eyeful of recommendations about how to mix and match these two types of access from more expert users, so I'll sit back and watch.