MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Please help, factorisation question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97317] Re: Please help, factorisation question
  • From: Valeri Astanoff <astanoff at gmail.com>
  • Date: Wed, 11 Mar 2009 04:20:03 -0500 (EST)
  • References: <gp2bh5$92b$1@smc.vnet.net>

On 9 mar, 07:04, plzhlp <n... at live.be> wrote:
> Hi all,
>
> first thanks very much to all who responded to my previous post.
>
> i am having trouble finding a way to do the following:
>
> i have a list of numbers P, and i need ask the question: which members of the set are products of other members and what are their factorisations by these other members.
>
> i notice there are graph/tree functions in mathematica to represent this sort of thing visually but im at a loss for how to implement them
>
> anyway for an example
>
> P = {a, b, c, d}
>
> OUTPUT:
>
> a -> c^2 * d
> b -> c * d^2
> c -> c
> d -> d

Good day,

Here is one possible solution using "Tuples"
[it may not be very fast and...
the output is not exactly what you wished ]:

In[1]:= fac[numbers_List, oneNumber_Integer] :=
Module[{factors, factors2, factors3},
   factors = {};
   factors2 = Select[numbers, Divisible[oneNumber, #] &];
   Do[factors3 =
     Select[Tuples[factors2, n], Times @@ # == oneNumber &];
    If[factors3 == {}, Break[]];
    factors = Join[factors, Union[Sort /@ factors3]],
   {n, 2, Length[factors2]}];
factors];

In[2]:= numbers = {2, 3, 6, 12, 5, 30, 10, 15, 11, 13};

In[3]:= {#, fac[numbers, #]} & /@ numbers

Out[3]= {{2, {}}, {3, {}}, {6, {{2, 3}}}, {12, {{2, 6}, {2, 2, 3}}},
{5, {}}, {30, {{2, 15}, {3, 10}, {5, 6}, {2, 3, 5}}},
{10, {{2, 5}}}, {15, {{3, 5}}}, {11, {}}, {13, {}}}

Thanks for an interesting exercise...

V.Astanoff


  • Prev by Date: Re: Mathematica 7.0.1.0 and some General Comments
  • Next by Date: Re: Bug in Pattern Matching with Condition?
  • Previous by thread: Please help, factorisation question
  • Next by thread: Memory leak in StringSplit in Mathematica 7