 
 
 
 
 
 
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

