MathGroup Archive 2010

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

Search the Archive

Re: beginner question about syntax

  • To: mathgroup at smc.vnet.net
  • Subject: [mg109116] Re: beginner question about syntax
  • From: Albert Retey <awnl at gmx-topmail.de>
  • Date: Mon, 12 Apr 2010 23:04:54 -0400 (EDT)
  • References: <hputp3$lh7$1@smc.vnet.net>

Am 12.04.2010 12:48, schrieb AK:
> Hi,
> 
> I'm a fairly seasoned user of another system who's just started using
> Mathematica. Although at the moment I'm just playing around with
> Mathematica (without any specific task at hand), trying to figure out
> the Mathematica way of doing things from the documentation
> (particularly the examples) there are some things I can't seem to wrap
> my head around. For example, can anyone explain the outputs for the
> inputs below:
> In[1]:= Map[Function[x, x^2], a]
> Out[1]:= a
> In[2]:=Map[Function[x, x^2], a + b + c]
> Out[2]:= a^2 + b^2 + c^2
> 
> If I enclose the second argument of Map[] inside a list, I get the
> expected output, but I don't understand what the operations given in
> the example above represent and why the outputs are what they are.
> Would appreciate an explanation for what's going here... thank you in
> advance.

I think this is probably one of the remarkable differences between
mathematica and most other systems: "Everything is an expression" and
there is no difference between a List and a sum of terms, one is an
expression with head List and a variable number of arguments, the other
an expression with head Plus and also a variable number of arguments.
Map will work on both. On the other hand the symbols a is an "Atom", its
Head is symbol and it cannot have arguments, so Map will not work for
it. This is also working for user defined symbols:

Map[f,a[1,2,3]]

If you have experience with other systems, but are new to mathematica
and are primarily interested in the difference to other comparable
systems I think reading the tutorials at the bottom of the page

guide/ExpressionStructure

in the documentation center will be a good starting point. For the next
step I would suggest everything in

howto/WorkWithVariablesAndFunctions

especially

tutorial/PatternsAndTransformationRules

which will reveal the next important difference IMO: the whole
evaluation process is just rewritting an expression by applying rules
that have been defined with = (Set) or := (SetDelayed).

hth,

albert



  • Prev by Date: Washington DC Area Mathematica Special Interest Group
  • Next by Date: Re: if using Mathematica to solve an algebraic problem
  • Previous by thread: Re: beginner question about syntax
  • Next by thread: Re: beginner question about syntax