Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: How to check whether an infinite set is closed under addition?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124295] Re: How to check whether an infinite set is closed under addition?
  • From: Mobius ReX <aoirex at gmail.com>
  • Date: Mon, 16 Jan 2012 17:08:03 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201201150951.EAA19688@smc.vnet.net> <C9FCBB38-0E20-478B-97BC-BD57313E080F@mimuw.edu.pl>

I just realized that there should be a further story here.
To check whether the set is complete, we should also check whether the
addition of a_i with itself with multiple times is also included in
the set.

This means that for a set A to be closed, its elements a_i =E2=88=88 A shou=
ld satisfy

1). a_i + a_j =E2=88=88 A for any a_i and a_j;
2). a_i * n =E2=88=88  A for any positive integer n.

Any more tips to quickly check the second condition?

Thanks.

Best,
Rex



On Sun, Jan 15, 2012 at 2:57 PM, Mobius ReX <aoirex at gmail.com> wrote:
> Dear Andrzej,
>
> Cool! Thanks a lot.
>
> Best,
> Renjun
>
>
> On Sun, Jan 15, 2012 at 4:22 AM, Andrzej Kozlowski <akoz at mimuw.edu.pl> wr=
ote:
>>
>> On 15 Jan 2012, at 12:00, Andrzej Kozlowski wrote:
>>
>>> Let
>>> On 15 Jan 2012, at 10:51, Rex wrote:
>>>
>>>> Given k positive numbers a_1<a_2<a_3<...<a_k, and all integers greater
>>>> than a_k, we want to check whether this set {a_1, a_2, a_3,...a_k, a_k
>>>> + 1, a_k+2, ......} is closed under addition.
>>>>
>>>> Is there any easy way to do this? any functions that we could use in
>>>> Mathematica?
>>>>
>>>> Your help will be greatly appreciated.
>>>>
>>>>
>>>
>>> Lest's call your set {a1,a2,...,a3} "base". Then:
>>>
>>> closedQ[base_List] :=
>>> Complement[Select[Total[Subsets[base, {2}], {2}], # <= Max[base] &],
>>> =C2  base] == {}
>>>
>>> For example:
>>>
>>> closedQ[{1, 2, 3}]
>>>
>>> True
>>>
>>> closedQ[{1, 4, 6, 7}]
>>>
>>> False
>>>
>>> Andrzej Kozlowski
>>>
>>
>> The program above does dome unnecessary comparisons since anything added=
 to the largest element of the base will obviously included in the complete=
 set. If the base is ordered, a better program will be:
>>
>> closedQ[base_List] :=
>> =C2 Complement[
>> =C2  Select[Total[Subsets[Most[base], {2}], {2}], # <= Last[base] &]=
,
>> =C2  base] == {}
>>
>> If it is not ordered we could use Sort[base] in place of base.
>>
>> Andrzej Kozlowski



  • Prev by Date: Re: how can one use mathematica get the approximate derivative of {x,y} data points?
  • Next by Date: Locator points not working in Manipulate calling RegionPlot, etc.
  • Previous by thread: Re: How to check whether an infinite set is closed under addition?
  • Next by thread: Re: How to check whether an infinite set is closed under addition?