MathGroup Archive 2008

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

Search the Archive

Re: What is @@@?


You'll find this in the tutorial "Input Syntax". -- tutorial/InputSyntax.

(You can get to that from the main Documentation Center > Core Language 
 > Syntax >tutorials.  Or if in Mathematica 6.0.2 you open the built-in 
Virtual Book, then from Core Language > Appendix:Language Structure > 
Input Syntax > Types of Input Syntax.)

On that tutorial page, search for @@@.  You'll see that

   expr1 @@@ expr2

is a special input form that means

   Apply[expr1, expr2, {1}]

So the effect is to replace heads in the parts of expr2 at level {1} by 
expr1.

For example:

   Remove[f,g,a,b]

   Apply[f, g[List[1, 2], List[a, b]], {1}]
g[f[1,2],f[a,b]]

     f@@@g[List[1,2],Lis[a,b]]  (* same thing *)
g[f[1,2],f[a,b]]

More concrete example:

   Apply[Plus, {{1, 2}, {a, b}}, {1}]
{3,a+b}

   Plus @@@ {{1, 2}, {a, b}}   (* same thing *)
{3,a+b}

Contrast that with, e.g.:

   Plus @@ {{1, 2}, {a, b}}
{1+a,2+b}

that is,

   Apply[Plus,{{1,2},{a,b}}]  (* same thing as preceding *)
{1+a,2+b}


Kevin J. McCann wrote:
> I have seen several references to the command @@@ in this newsgroup, but 
> a query of the online Documentation Center just refers me to Apply (@@). 
> What does it do and where can I read about it?
> 
> Thanks
> 
> Kevin

-- 
Murray Eisenberg                     murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower      phone 413 549-1020 (H)
University of Massachusetts                413 545-2859 (W)
710 North Pleasant Street            fax   413 545-1801
Amherst, MA 01003-9305


  • Prev by Date: contouring
  • Next by Date: RE: What is @@@?
  • Previous by thread: Re: What is @@@?
  • Next by thread: RE: What is @@@?