Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

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

Search the Archive

Re: Re: notation using # with exponents and &

  • To: mathgroup at smc.vnet.net
  • Subject: [mg93201] Re: Re: notation using # with exponents and &
  • From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
  • Date: Fri, 31 Oct 2008 03:04:34 -0500 (EST)

It seems me that this is like in an old mathematical joke:

Professor: "Please give me a definition of a diverging sequence".
Student: "In this case each next member is larger than the previous one".
Professor: "What you are telling me is a ladies dream, rather than a 
rigorous mathematical definition".

The point seems to be that a rigorous and understandable definition is 
missing in the story with the pure function.
The most clear is the following: statement: "Pure functions allow you to 
give functions which can be applied to arguments, without having to 
define explicit names for the functions". It is nevertheless, rather 
obscure and requires intuition. In fact this statement says: "Here is a 
trick to use, go ahead!", but does not explain anything. The least clear 
is the following: "If you are familiar with formal logic or the LISP 
programming language, you will recognize Mathematica pure functions as 
being like \[Lambda] expressions or anonymous functions. Pure functions 
are also close to the pure mathematical notion of operators." So, "if 
you are familiar..". And what, if you are not? "...close to operators". 
Is not it somebodies dream, rather than a definition?

What we have in fact is a set of badly described recipes that however, 
perfectly work, and one may try to construct his own examples, if he has 
feeling of how it should be done. But feeling, rather than knowledge, 
because of the lack of a clear definition. Which is finally also not bad.

In article <ge6nik$ll4$1 at smc.vnet.net>,
 Bill Rowe <readnews at sbcglobal.net> wrote:

> 
> I don't see that what Mathematica defines as a pure function is
> inconsistent with the Wikipedia definition. For example,
> 
> f = #^2&
> 
> Always returns the same value for the same argument and has no
> I/O side effect, meeting both requirements for Wikipedia's
> definition of a pure function.

I guess I get confused, or led astray, by exactly how the words in the 
Wiki definition are to be interpreted.  For example

   f = #^x &

seems to me to be a function with an argument (the "#"), and a -- what 
shall we call it? -- a "parameter" (the "x"); and this construct returns 
_different_ values depending on how the value of x is pre-set, or 
changed, before calling it.  

In other words, it does _not_ always return the same value for the same 
argument.

I can see  #1^#2 & as evidently a pure function.  But if the function 
definition also contains parameters that can be varied, is it still a 
pure function?  And if so, what does "pure" really mean?


-- 
Alexei Boulbitch, Dr., Habil.
Senior Scientist

IEE S.A.
ZAE Weiergewan
11, rue Edmond Reuter
L-5326 Contern
Luxembourg

Phone: +352 2454 2566
Fax:   +352 2454 3566

Website: www.iee.lu

This e-mail may contain trade secrets or privileged, undisclosed or otherwise confidential information. If you are not the intended recipient and have received this e-mail in error, you are hereby notified that any review, copying or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal from your system. Thank you for your co-operation.




  • Prev by Date: Re: Stopping a program
  • Next by Date: Pure functions?
  • Previous by thread: Re: notation using # with exponents and &
  • Next by thread: anova help__