Re: Using Parallelize with my own function
- To: mathgroup at smc.vnet.net
- Subject: [mg119675] Re: Using Parallelize with my own function
- From: Vivek Joshi <vivekjjoshi29 at gmail.com>
- Date: Fri, 17 Jun 2011 00:08:19 -0400 (EDT)
- References: <201106160800.EAA13221@smc.vnet.net>
I think the right way to implement this would be as follows,
ParallelCyclicGroupQ[G_] :=
MemberQ[ParallelMap[GroupOrder[PermutationGroup[{#}]] &, GroupElements[G]],
GroupOrder[G]]
ParallelCyclicGroupQ[SymmetricGroup[5]]
False
Vivek J. Joshi
On Thu, Jun 16, 2011 at 4:00 AM, =C1d=E1m Lelkes <lelkesa at gmail.com> wrote:
> Dear Group,
>
> I have a problem with Parallelize. I have defined the following
> function:
>
> In[1]:= CyclicGroupQ[G_] := MemberQ[GroupOrder[PermutationGroup[{#}]]
> & /@ GroupElements[G], GroupOrder[G]].
>
> In[2]:= DistributeDefinitions[CyclicGroupQ]
> Out[2]= {CyclicGroupQ}
>
> This function gives True if G is cyclic, False otherwise. If I try to
> use Parallelize with this function I get the following message:
>
> In[3]:= Parallelize[CyclicGroupQ[SymmetricGroup[5]]]
>
> Parallelize::nopar1: CyclicGroupQ[SymmetricGroup[5]] cannot be
> parallelized; proceeding with sequential evaluation.
>
> Out[3]= False
>
> However, if I use Parallelize with the definition of the function, I
> do not get this message:
>
> In[4]:= Parallelize[ MemberQ[GroupOrder[PermutationGroup[{#}]] & /@
> GroupElements[SymmetricGroup[5]], GroupOrder[SymmetricGroup[5]]]]
>
> Out[4]= False
>
> How could I make my function parallelizable?
>
> Thanks,
> Adam Lelkes
>
>
- References:
- Using Parallelize with my own function
- From: Ádám Lelkes <lelkesa@gmail.com>
- Using Parallelize with my own function