Why is y a local variable here?
- To: mathgroup at smc.vnet.net
- Subject: [mg63085] Why is y a local variable here?
- From: "Steven T. Hatton" <hattons at globalsymmetry.com>
- Date: Tue, 13 Dec 2005 03:41:40 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
This is based on an example in _Programming In Mathematica_. You can find the original example in this file file: AddOns/ExtraPackages/ProgrammingInMathematica/SwinnertonDyer.m y = "The value of y"; SDP[0, x_] := x SDP[n_Integer?Positive, x_] := Module[{sd, srp = Sqrt[Prime[n]], py}, py[y_] = Print["y = ", y]; Print["x = ", x]; sd[y_] = SDP[n - 1, y]; Expand[sd[x + srp] sd[x - srp]]] SDP[5, x] This is the output: y = The value of y x = x y = The value of y x = y$ y = The value of y x = y$ y = The value of y x = y$ y = The value of y x = y$ 2 4 Out[4]= 2000989041197056 - 44660812492570624 x + 183876928237731840 x - 6 8 10 > 255690851718529024 x + 172580952324702208 x - 65892492886671360 x + 12 14 16 > 15459151516270592 x - 2349014746136576 x + 239210760462336 x - 18 20 22 > 16665641517056 x + 801918722048 x - 26625650688 x + 24 26 28 30 32 > 602397952 x - 9028096 x + 84864 x - 448 x + x I do not understand why y is not "contaminated" by the global value when it appears in sd[y_] = SDP[n - 1, y];. Can someone explain this? -- The Mathematica Wiki: http://www.mathematica-users.org/ Math for Comp Sci http://www.ifi.unizh.ch/math/bmwcs/master.html Math for the WWW: http://www.w3.org/Math/
- Follow-Ups:
- Re: Why is y a local variable here?
- From: ggroup@sarj.ca
- Re: Why is y a local variable here?