Re: Vector-valued functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg47346] Re: [mg47321] Vector-valued functions*From*: Sseziwa Mukasa <mukasa at jeol.com>*Date*: Tue, 6 Apr 2004 06:36:29 -0400 (EDT)*References*: <200404050923.FAA21857@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

On Apr 5, 2004, at 5:23 AM, me wrote: > Hi, Experts ! > I often encounter the following situation: > I have a function that creates a list (=vector) as output. > For example: > f[i_,j_,k_]:={a[i,j,k],b[i,j,k],c[i,j,k]} > I have to use, for example, the second part of the vector > in a subsequent expression. When I try that as, for example, > g[i_,j_,k_]=f[i,j,k][[2]] > Mathematica gives the error message 'Part n does not exist' > because f[i,j,k] is indeed not yet evaluated. > What is the best way to I make [[...]] behave like [...] so that it > stays > unevaluated unless it can be evaluated ? > I can think of three ways: > - Use functional arguments [...] instead of lists [[...]] alltogether. > - Rename Part[...] into something else so that Mathematica does not > complain. > - Make frequent use of Hold[...]. > All three ways are a bit ugly, I feel. Which (other) method is > preferred ? > I could imagine that this is a rather common question but I found no > discussion about it. > What's wrong with g[i_,j_,k_]:=f[i,j,k][[2]]? Regards, Ssezi

**References**:**Vector-valued functions***From:*me@my.co (me)