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