RE: Vector-valued functions

• To: mathgroup at smc.vnet.net
• Subject: [mg47348] RE: [mg47321] Vector-valued functions
• From: Jonas at iui.se
• Date: Tue, 6 Apr 2004 06:36:32 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Use := in defining the g function:

In[1]:=
f[i_,j_,k_]:={a[i,j,k],b[i,j,k],c[i,j,k]}

In[2]:=
g[i_,j_,k_]:=f[i,j,k][[2]]

In[3]:=
g[i,j,k]

Out[3]=
b[i,j,k]

Jonas

> -----Original Message-----
> From: me at my.co [mailto:me at my.co]
To: mathgroup at smc.vnet.net
> Sent: den 5 april 2004 11:23
> To: mathgroup at smc.vnet.net
> Subject: [mg47348] [mg47321] Vector-valued functions
>
>
> 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.
>
> Thank you !
> Michael
>
>

```

• Prev by Date: Re: Plotting a surface side-by-side
• Next by Date: problems with FindRoot: what worked with 4.2 does not work with 5.0
• Previous by thread: Re: Vector-valued functions
• Next by thread: Re: Problem with AltGr key on german keyboard