MathGroup Archive 1995

[Date Index] [Thread Index] [Author Index]

Search the Archive

Problems with high-dimensional lists


Let me give an example:

a=Table[0,{3},{4},{5},{6}];

Dimensions[a]

gives you 
Out[86]= {3, 4, 5, 6},
of course.

But if you try to assign a new value to a sublist
a[[1,1]]=Table[x,{6},{5}];
Mathematica forgets that a still should have the Dimension {3,4,5,6}:

In[88]:= Dimensions[a]
Out[88]= {3, 4}
In[89]:= Transpose[a,{4,1,2,3}];

Transpose::tperm: 
   Permutation {4, 1, 2, 3} is longer than the dimensions {3, 4} of the array.

is now impossible, although 

In[90]:= a[[3,4,5,6]]
Out[90]= 0
returns still the correct value. Why does Mathematica make this difference?
If you print a, there is no difference.

How can you return to the desired Dimension?

a=Array[a,{3,4,5,6}];

is not possible because a[[1,1,1,1]] gives a mess.

Thanks in advance,

Sascha Unzicker











  • Prev by Date: Final comments on CoefficientList
  • Next by Date: (fix) bizarre mathematica replacement rule error
  • Previous by thread: Problems with high-dimensional lists
  • Next by thread: Re: Problems with high-dimensional lists