Re: How to check whether an infinite set is closed under addition?
- To: mathgroup at smc.vnet.net
- Subject: [mg124296] 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:24 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201201150951.EAA19688@smc.vnet.net> <C9FCBB38-0E20-478B-97BC-BD57313E080F@mimuw.edu.pl>
Sorry the condition of a set A to be closed under addition should be
`a_i*n + a_j*m =E2=88=88 A` for any positive integers `n` and `m` for any a_i =E2=88=88 A.
On Sun, Jan 15, 2012 at 4:55 PM, Mobius ReX <aoirex at gmail.com> wrote:
> 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 should satisfy
>
> 1). a_i + a_j =E2=88=88 A for any a_i and a_j;
> 2). a_i * n =E2=88=88 =C2 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> wrote:
>>>
>>> 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
- References:
- How to check whether an infinite set is closed under addition?
- From: Rex <aoirex@gmail.com>
- How to check whether an infinite set is closed under addition?