Re: How to simplify this code with variable number of

• To: mathgroup at smc.vnet.net
• Subject: [mg124316] Re: How to simplify this code with variable number of
• From: Bob Hanlon <hanlonr357 at gmail.com>
• Date: Mon, 16 Jan 2012 17:15:23 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201201150951.EAA19677@smc.vnet.net>

```iter[0] = {a[0], 1, 1};

iter[n_Integer?Positive] = {a[n], a[n - 1] + 1, 2 n - 1};

g = 2;

Table[f @@ Table[a[k], {k, 0, g}],
Evaluate[Sequence @@ Table[iter[k], {k, 0, g}]]] //
Flatten[#, g] &

{}

The iterators upper bounds are lower than the corresponding lower
bounds, so the iterations are empty

With a different definition for the iterators

iter[n_Integer?Positive] = {a[n], a[n - 1], 2 n - 1};

Table[f @@ Table[a[k], {k, 0, g}],
Evaluate[Sequence @@ Table[iter[k], {k, 0, g}]]] //
Flatten[#, g] &

{f[1, 1, 1], f[1, 1, 2], f[1, 1, 3]}

Or

iter[n_Integer?Positive] = {a[n], a[n - 1] + 1, 2 n + 1};

Table[f @@ Table[a[k], {k, 0, g}],
Evaluate[Sequence @@ Table[iter[k], {k, 0, g}]]] //
Flatten[#, g] &

{f[1, 2, 3], f[1, 2, 4], f[1, 2, 5], f[1, 3, 4], f[1, 3, 5]}

Bob Hanlon

On Sun, Jan 15, 2012 at 4:51 AM, Rex <aoirex at gmail.com> wrote:
> Considering an array a[i], i=0,1,...,g, where g could be any given
> number, and a[0]=1.
>
>    for a[1]=a[0]+1 to 1 do
>        for a[2]=a[1]+1 to 3 do
>           for a[3]=a[2]+1 to 5 do
>             ......
>              for a[g]=a[g-1]+1 to 2g-1 do
>                ###some computations here###
>
> The problem is that everytime we change the value of g, we need to
> modify the code, those loops above. So this is not a good code.
>
> Any advice would be greatly appreciated.
>

```

• Prev by Date: Re: without individual scaling?
• Next by Date: Works in 7.0.1, not in 8.0.4 ??
• Previous by thread: Re: How to simplify this code with variable number of nesting loops?
• Next by thread: Re: How to simplify this code with variable number of