Re: Generate expression from result
- To: mathgroup at smc.vnet.net
- Subject: [mg32829] Re: Generate expression from result
- From: Albert Retey <albert.retey at visualanalysis.com>
- Date: Thu, 14 Feb 2002 01:43:57 -0500 (EST)
- Organization: Visual Analysis AG
- References: <a4aum0$bug$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Johannes Ludsteck wrote: > > Dear Mathgroup Members, > I obtain the vector {x1,x2} as solution to a > (rather complicated) equation system > > {x1,x2}=LinearSolve[m[{a1,a2}],b[{a1,a2}]] > Of course, the xi are functions of {a1,a2}. > > Since I use the xi later on for complex operations, > it would be of gread help if the arguments ai appeared > in the vector {x1,x2}. > Therefore I defined > f[{a1_,a2_}]=LinearSolve[m[{a1,a2}],b[{a1,a2}]] > > (I need "=" here instead of ":=", since f[] is called > often and the LinearSolve[] command uses some time, > since the vectors {x1,x2} and {a1,a2} are only > examples and can have dimension 10 to 20 in my application. > > Up to now the solution works well, but I am bothering > whether this construction could generate modularity or > naming problems, since the Assignment > appears in a Module where {a1,a2} are defined as local variables. > > fun[...]:=Module[{a1,a2,f}, > ... > f[{a1_,a2_}]=LinearSolve[m[{a1,a2}],b[{a1,a2}]] > ... > ] > I think they are save, as you can see when evaluating the following. Module[{a1, a2, f}, f[{a1_, a2_}] = LinearSolve[m[{a1, a2}], b[{a1, a2}]]; Print[DownValues[f]]; Print[a1]; Print[a2]; ] If things get more complicated I don't know, but why not just use different names for the f-pattern to be on the save side? HTH Albert