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.
>
- References:
- How to simplify this code with variable number of nesting loops?
- From: Rex <aoirex@gmail.com>
- How to simplify this code with variable number of nesting loops?