MathGroup Archive 2003

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

Search the Archive

Re: Re: Super-Increasing List

  • To: mathgroup at smc.vnet.net
  • Subject: [mg40472] Re: [mg40456] Re: Super-Increasing List
  • From: Dr Bob <majort at cox-internet.com>
  • Date: Mon, 7 Apr 2003 04:54:18 -0400 (EDT)
  • References: <200304060834.EAA01887@smc.vnet.net>
  • Reply-to: majort at cox-internet.com
  • Sender: owner-wri-mathgroup at wolfram.com

Bill,

If you're going to test for property (a) first, you should do it this way 
instead:

superIncreasingQ[data_List] :=
  OrderedQ[data] && And @@ Flatten[
        MapThread[OrderedQ[{#1, #2}] &, {Drop[FoldList[Plus, 0, data], -1],
            data}]]

The other way, MapThread will be executed to check property (b) even if the 
list has already flunked the test for property (a).  If we knew which test 
is more likely to fail lists we'll encounter, we should put that test 
first.  If we knew that most lists will pass test (a) but many will fail 
test (b), we'd write it as

superIncreasingQ[data_List] :=
  And[And @@ Flatten[
        MapThread[OrderedQ[{#1, #2}] &, {Drop[FoldList[Plus, 0, data], -1],
            data}]],
      OrderedQ[data]]

Also, MapThread and FoldList are computed all the way to the end of the 
list, even if the very first comparison will fail.

Bobby

On Sun, 6 Apr 2003 04:34:30 -0400 (EDT), Bill Rowe <listuser at earthlink.net> 
wrote:

> On 4/5/03 at 4:00 AM, flip_alpha at safebunch.com (flip) wrote:
>
>
>> does a command or module exist which can test a list of values and
>> determine if it is a super-increasing list?
>
>> A super-increasing list satifies the conditions:
>
>> a.  the list is in increasing order
>> b.  each element of the list is greater than the sum of it's previous
>> elements
>
>> Example:
>
>> list = {2, 3, 7, 15, 31}
>
> SuperIncreasingQ[data_List] :=
> And @@ Flatten[{OrderedQ[data],
> MapThread[OrderedQ[{#1, #2}] &, {Drop[FoldList[Plus, 0, data], -1], 
> data}]}]
> SuperIncreasingQ[list]
> True
>
>



-- 
majort at cox-internet.com
Bobby R. Treat



  • Prev by Date: Re: Package - Module
  • Next by Date: Re: Combinatorical efficiency
  • Previous by thread: Re: Super-Increasing List
  • Next by thread: Re: Super-Increasing List