Re: Re: Intersection and element counts

• To: mathgroup at smc.vnet.net
• Subject: [mg20795] Re: [mg20771] Re: [mg20615] Intersection and element counts
• From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
• Date: Sun, 14 Nov 1999 18:13:47 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```You can easily make it work with numbers too:

In[14]:=
intersect[ list1_, list2_ ] := Flatten[Apply[List, PolynomialGCD[ Times @@
Map[Hold, list1], Times @@ Map[Hold, list2] ]] /. Power[x_, n_] :> Table[x,
{n}]] // ReleaseHold

Now, with

In[15]:=
list1 = {a, 1, 1, a, 2, 1, 1, 1, 2};
In[16]:=
list2 = {a, b, d, 1, 1, a, d, 2, 2};

In[17]:=
intersect[list1, list2]
Out[17]=
{1, 1, 2, 2, a, a}

> From: "Simons, F.H." <F.H.Simons at tue.nl>
To: mathgroup at smc.vnet.net
> Date: Thu, 11 Nov 1999 00:22:46 -0500
> To: mathgroup at smc.vnet.net
> Subject: [mg20795] [mg20771] Re: [mg20615] Intersection and element counts
>
> Just for fun: the following solution works very fast when the two lists do
> not contain numbers.
>
> intersect[ list1_, list2_ ] := PolynomialGCD[ Times @@ list1, Times @@ list2
> ]
>
> With
>
> list1 = {a, b, b, a, c, d, b, b, c};
> list2 = {a, b, d, b, b, a, d, c, c};
>
> we obtain
>
> a^2 b^3 c^2 d.
>
> By applying List, followed by the simple substitution: Power[x_, n_] :>
> Table[ x, {n}] and Flattening, the result may be given in the form of a
> list, if desired.
>
>
> Fred Simons
> Eindhoven University of Technology
>

```

• Prev by Date: Re: Re: Re: Re: Combinatorica questions!!!
• Next by Date: Mangled the notebook settings.
• Previous by thread: Re: Intersection and element counts
• Next by thread: Re: ParametricPlot3D Edges