Creating a recursive function which returns a sequence

• To: mathgroup at smc.vnet.net
• Subject: [mg128483] Creating a recursive function which returns a sequence
• From: Wei-Hsun Lin <wei.xun.lin at gmail.com>
• Date: Wed, 24 Oct 2012 03:32:07 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net

```Hello all,

I would like to create a recursive function of which the returning
value is a sequence. For example,

f[n_]:=Module[{},
If[n<0,Return[Sequence[]]];
Sequence[g[n],f[n-1]]
]

The above code doesn't work because the Sequence function was
evaluated before it's returned.
Could anyone please advise me as to what's is the usual way to achieve
this? Thank you very much!

The result I want is

f[2]
=Sequence[g[2],f[1]]
=Sequence[g[2],Sequence[g[1],f[0]]]
=Sequence[g[2],g[1],f[0]]
=Sequence[g[2],g[1],Sequence[g[0],f[-1]]]
=Sequence[g[2],g[1],g[0],f[-1]]
=Sequence[g[2],g[1],g[0],Sequence[]]
=Sequence[g[2],g[1],g[0]]

Best regards,
Wei-Hsun

```

• Prev by Date: Re: How do I assign the solution obtained by FindRoot to a variable?
• Next by Date: How accurate is the solution for high degree algebraic equation?
• Previous by thread: Re: Eigenvalues works very slow
• Next by thread: Re: Creating a recursive function which returns a sequence