possible bug in Mathematica?

• To: mathgroup at smc.vnet.net
• Subject: [mg25967] possible bug in Mathematica?
• From: Peter Joseph <joseph at oasis.rad.upenn.edu>
• Date: Tue, 14 Nov 2000 03:46:59 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```I am running Mathematica version 4.0 under Windows 98 2nd edition.

Mathematica.  I am not sure if you consider the following problem to be a
question or a bug report.  I have already submitted this to Wolfram as a
bug report.

(* The problem is how to redefine or recalculate the elments of a list
with more than one dimension, such as a matrix
First, demonstrate that there is no such problem with a simple list *)

In[8]:= vector = Table[0, {2}]
Out[8]= {0, 0}

(* next redefine the values in the vector *)

In[9]:=vector[[1]] = 1
Out[9]=1

In[10]:=vector[[2]] = 2
Out[10]=2

In[11]:=vector
Out[11]={1, 2}

(* That was successful, now try exactly the same technique with a matrix
*)

In[12]:=matrix = Table[0, {2}, {3}]
Out[12]={{0, 0, 0}, {0, 0, 0}}

In[13]:=matrix[[1]][[1]] = 11
Set::"setps": "\!\(matrix \[LeftDoubleBracket] 1 \[RightDoubleBracket]\)
in \
assignment of part is not a symbol."
Out[13]=11

In[14]:=matrix
Out[14]={{0, 0, 0}, {0, 0, 0}}

(* evidently, Mathematica interprets the meaning of vector[[1]] very
differently than matrix[[1]][[1]]
It considers the vector elements to be variables that can be redefined,
while it considers the matrix elements constants that are
protected.  I tried using Unprotect in various forms, but that did not
work.

So the question is, how does one do computations on lists which are nested
more than one level deep?? *)

Peter M. Joseph, Ph.D.