Re: Distribute

• To: mathgroup at smc.vnet.net
• Subject: [mg2817] Re: [mg2808] Distribute
• From: Allan Hayes <hay at haystack.demon.co.uk>
• Date: Wed, 20 Dec 1995 01:16:21 -0500

```"Arnold Seiken" <SEIKENA at gar.union.edu>
>Subject: [mg2808] Distribute

(*1*)Distribute[Plus[{a,b,c}, {1,2,3}], List]

{{1 + a, 2 + b, 3 + c}}

(*2*)Distribute[Plus[{a,b,c}, {1,2,3,4}], List]

Thread::tdlen: Objects of unequal length in {a, b, c} + {1,
2, 3, 4} cannot be combined.

{1 + a, 2 + a, 3 + a, 4 + a, 1 + b, 2 + b, 3 + b, 4 + b,
1 + c, 2 + c, 3 + c, 4 + c}

Explanation: the difference lies in the evaluation of the entries
of Distribute, which is attempted before Distribute acts.

In (*1*), Plus adds the two lists of equal length to give

Distribute[{1+a,2+b,3+c}, List]

1 + a  2 + b  3 + c

You can use Unevaluated to stop Plus acting:

Distribute[Unevaluated[Plus[{a,b,c}, {1,2,3}]], List]

{1 + a, 2 + a, 3 + a, 1 + b, 2 + b, 3 + b, 1 + c, 2 + c, 3 + c}

In (*2*) the message tells us that Plus cannot add lists of unequal
length, then the evaluation continues with them not added

Allan Hayes
hay at haystack.demon.co.uk

```

• Prev by Date: Re: ParametricPlot3D
• Next by Date: Programming