Re: possible bug in Mathematica?
- To: mathgroup at smc.vnet.net
- Subject: [mg25982] Re: possible bug in Mathematica?
- From: adam_smith at my-deja.com
- Date: Wed, 15 Nov 2000 02:09:36 -0500 (EST)
- References: <8ur0ag$qsq@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
This is not a bug. You have the syntax wrong. For a matrix that is "m" rows by "n" columns you specify the element with: matrix[[row,column] I have included an example. Note that this format extends to more that "2-dimensional" matrices. Adam Smith In[1]:= vector = Table[i, {i, 1, 3}] Out[1]= {1, 2, 3} In[2]:= matrix = Table[i*j, {i, 1, 2}, {j, 1, 3}] Out[2]= {{1, 2, 3}, {2, 4, 6}} In[3]:= matrix[[1, 3]] Out[3]= 3 In[4]:= matrix[[2, 2]] Out[4]= 4 In article <8ur0ag$qsq at smc.vnet.net>, Peter Joseph <joseph at oasis.rad.upenn.edu> wrote: > > 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 > > Sent via Deja.com http://www.deja.com/ Before you buy.