Re: Indexed element treated as number?

• To: mathgroup at smc.vnet.net
• Subject: [mg80073] Re: [mg80055] Indexed element treated as number?
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Sun, 12 Aug 2007 07:09:45 -0400 (EDT)

```Clear[a];

n = 100;
kList1 = Array[a, n];

{Im[a[1]], Im[a[37]]}

{Im(a(1)),Im(a(37))}

a /: Im[a[37]] = 0;

{Im[a[1]], Im[a[37]]}

{Im(a(1)),0}

a /: Im[a[_]] = 0;

{Im[a[1]], Im[a[37]]}

{0,0}

Bob Hanlon

---- Jung-Tsung Shen <jushen at gmail.com> wrote:
> (* The following problem and alike have been asked before. I have
> searched extensively the archive of this forum but couldn't find a
> perfect solution. *)
>
>
> To get an array of length n, where n is large and post-given, one
> issues the command, for example,
>
> n=100;
> kList1=Array[a, n];
>
> but it seems that there are some limitations to this approach. For
> example, in cases that I know all of the elements are real, and would
> like to issue, say,
>
> a[37]/:Im[a[37]]=0;
>
> I get an error message saying
> "TagSet::sym: Argument a[37] at position 1 is expected to be a
> symbol." To declare the element to be explicitly zero sometimes speed
> up the computation.
>
> For a list such as
>
> kList2={k1, k2, k3, ..., k100};
>
> there's no such limitations, but since the number of elements is
> large, and is post-given, I couldn't have this before hand.
>
> Is there any solution(s) to this "problem"?
>
> Thanks!
>
> JT
>

```

• Prev by Date: Re: framed plots with two y axes scales
• Next by Date: Re: Indexed element treated as number?
• Previous by thread: Re: Indexed element treated as number?
• Next by thread: Re: Indexed element treated as number?