MathGroup Archive 2000

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

Search the Archive

Re: possible bug in Mathematica?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg25986] Re: possible bug in Mathematica?
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Wed, 15 Nov 2000 02:09:39 -0500 (EST)
  • Organization: Universitaet Leipzig
  • References: <8ur0ag$qsq@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

matrix[[1,1]]=11 

will work as expected. In this description THE BOOK is a bit
unclear. For reading Part[Part[a,1],1] work identical but for writing
Part[Part[a,1],1] evaluate the inner Part[] first, create a copy
of the row and for the outer Part[] there is only a single list
and no symbol anymore. This create the error message because

Part[{1,3,a,q,r},4]=11

can not be assigned.

Hope that helps
  Jens


Peter Joseph 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


  • Prev by Date: Re: DumpSave
  • Next by Date: Re: MathLink
  • Previous by thread: Re: possible bug in Mathematica?
  • Next by thread: Re: possible bug in Mathematica?