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. I only recently discovered your newsgroup on technical questions about 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. Professor of Radiologic Physics in Radiology Hospital of the University of Pennsylvania Philadelphia, PA, 19104-4283 Telephone 215-662-6679 email joseph at rad.upenn.edu