Re: Bug??

• To: mathgroup at smc.vnet.net
• Subject: [mg3841] Re: Bug??
• From: Stephen P Luttrell <luttrell at signal.dra.hmg.gb>
• Date: Mon, 29 Apr 1996 00:32:09 -0400
• Organization: Defence Research Agency, Malvern
• Sender: owner-wri-mathgroup at wolfram.com

```Theo Pillay wrote:
>
> Hi all,
>
> I came across the following strange (and highly frustrating) behaviour while
> using MMA to do some simple substitutions. The relevant parts of the text
> file I was using are reproduced below.
>
> f[x,y] = a[x] y + b[x];
>
> F1 = f[x,y];
>
> F2 = y2 (D[f[x,y], y]  - D[r[x], x]) + D[f[x,y],x];
>
> F3 = r[x];
>
> eight = -y2 A[x,y] D[F2,y] - 2 y2 B[x,y,y2] D[F3,y] +
>         2 y2 D[F2,y,x] + y2^2 D[F2,{y,2}] - A[x,y] D[F2,x] +
>         B[x,y,y2] D[F2,y2] -
>         2 B[x,y,y2] D[F3,x] - D[B[x,y,y2], y] F1 - D[B[x,y,y2], y2] F2
>         - D[B[x,y,y2],x] F3 + D[F2, {x,2}];  (* 1 *)
>
> I get different answers for eight depending on the position of line (1). As
> shown I get the wrong answer, but it works if I move (1) up to the previous
> line (i.e next to F2). This is worse than irritating - anybody know what's
> happening here?

When the Mathematica parser reaches the end of the line above (1) it thinks it has a complete
input statement, i.e. all pending brackets (etc) have been closed, so it doesn't look any further.

If, on the other hand, you move the minus sign (which appears at the start of (1)) to the end of
the line above (1), so that your input appears like this

eight = -y2 A[x,y] D[F2,y] - 2 y2 B[x,y,y2] D[F3,y] +
2 y2 D[F2,y,x] + y2^2 D[F2,{y,2}] - A[x,y] D[F2,x] +
B[x,y,y2] D[F2,y2] -
2 B[x,y,y2] D[F3,x] - D[B[x,y,y2], y] F1 - D[B[x,y,y2], y2] F2 -
D[B[x,y,y2],x] F3 + D[F2, {x,2}];  (* 1 *)

then the parser is forced to look at line (1) to find whatever is supposed to come after the minus
sign, and it will thus do what you intended.

You can also achieve the same effect by moving the whole of line (1) to the end of the previous
line (as you have already noted).

--
Dr Stephen P Luttrell                  luttrell at signal.dra.hmg.gb