Re: Why is Mathematica assuming k==l and how do I make it

*To*: mathgroup at smc.vnet.net*Subject*: [mg92710] Re: Why is Mathematica assuming k==l and how do I make it*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Sat, 11 Oct 2008 06:43:37 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <gci2il$td$1@smc.vnet.net> <gcn4a5$75e$1@smc.vnet.net>

mariam wrote: *snip* > i am new to mathematica and learning about some codes needed in my > projects. > i want to know that: > 1) > > Do[{ > amplist[i1]= Read[StringJoin[jproc,"/",QCD[i1],"diagrams.amp"]], > ileng[i1] = Length[amplist[i1]], > > Do[{ > Print["Processing amp[",i1,",",i2,"]"], > If[i1===2,{amp[i1,i2] = amplist[i1][[i2]][[3]]}, {amp[i1,i2] = > amplist[i1][[i2]][[2]] > }], > ---------------------------------- and so on. > What does amp[i1,i2] = amplist[i1] [[i2]] [[3]] mean? I mean any > f[i.j]=g[i] [[j]] [[k]] > I am confused about the double-brackets used [[----]]. > > 2) in another expression, > itwo = StringPosition[jproc,"2"][[1,1]] > > what for [[ x, y]] is used? The notation [[__]] is a shortcut for the built-in functions *Part*, which works to some extent like an index for an array, except that you can iterate over any kind of expression. In[1]:= lst = {{a, b, c}, {3, 5, 1}}; In[2]:= lst[[2, 2]] Out[2]= 5 In[3]:= Do[Print[lst[[x, y]]], {x, 2, 1, -1}, {y, 3, 1, -1}] During evaluation of In[3]:= 1 During evaluation of In[3]:= 5 During evaluation of In[3]:= 3 During evaluation of In[3]:= c During evaluation of In[3]:= b During evaluation of In[3]:= a In[4]:= poly = a x^3 + b x^2 + c x + d Out[4]= d + c x + b x^2 + a x^3 In[5]:= poly[[3]] Out[5]= b x^2 In[6]:= poly[[3, 2]] Out[6]= x^2 In[7]:= poly[[3, 2, 2]] Out[7]= 2 You should have a look at the following (short) documents: "Manipulating Elements of Lists" http://reference.wolfram.com/mathematica/tutorial/ManipulatingElementsOfLists.html "Getting Pieces of Lists" http://reference.wolfram.com/mathematica/tutorial/GettingPiecesOfLists.html "Parts of Expressions" http://reference.wolfram.com/mathematica/tutorial/PartsOfExpressions.html "Manipulating Lists by Their Indices" http://reference.wolfram.com/mathematica/tutorial/ManipulatingListsByTheirIndices.html "Part ([[...]])" http://reference.wolfram.com/mathematica/ref/Part.html Regards, -- Jean-Marc