Re: Question about Initialization Cells

*To*: mathgroup at smc.vnet.net*Subject*: [mg126409] Re: Question about Initialization Cells*From*: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>*Date*: Tue, 8 May 2012 04:10:41 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com

I downloaded the source code for a Wolfram Demonstrations Project; this one: http://demonstrations.wolfram.com/ComparingAlgorithmsForTheTravelingSalesmanProblem/ The first three cells, all initialization cells, each contain a simple one-liner, for example: dist[p1_, p2_] := Norm[p1 - p2] When I evaluate any of these cells, it appears to define the function, but when I try (in a second, new notebook window) to evaluate the function (e.g., to evaluate "dist[4.5]}), the function is undefined. It is blue in the second window, even though it is black in the first window. But If I type "dist[4,5]" in the demonstration project window itself, all works as expected. The demo project does not appear to be a package; 'dist' does not seem to be private. What am I missing? The function, dist[p1,p2] that you describe here has two variables according to definition. Mathematica distinguishes functions not only by their heads (i.e. the name "dist"), but also by the number of variables. For Mathematica, therefore, the functions dist[1,2] and dist[1] are two absolutely different functions. In your case the first of them is already defined, but not the second. Finally 4.5 is for Mathematica one rational number equal to four and a half, rather than two numbers. Thus, Mathematica understands dist[4.5] as a new, yet undefined function of a one variable. Have fun, Alexei Alexei BOULBITCH, Dr., habil. IEE S.A. ZAE Weiergewan, 11, rue Edmond Reuter, L-5326 Contern, LUXEMBOURG Office phone : +352-2454-2566 Office fax: +352-2454-3566 mobile phone: +49 151 52 40 66 44 e-mail: alexei.boulbitch at iee.lu<mailto:alexei.boulbitch at iee.lu>