If the answer to Jimmy's question is no, then the uniqueness of the resulting 
array has to do (surprisingly) with free groups 
(https://en.wikipedia.org/wiki/Free_group).
Indeed we can view a vector of numbers as a word over the alphabet [0,∞) of 
positive real numbers (where negative numbers / zero are inverses of letters in 
our alphabet). The fact that all maximal reductions (reductions which contain 
no adjacent inverses) of a given word are equal means exactly that our reduced 
list is unique.
For a proof see:
https://math.stackexchange.com/a/2425147

I'll look into this problem, it's interesting!
Cheers,
Louis
 
----Original Message----
From : [email protected]
Date : 06/12/2019 - 23:36 (CEST)
To : [email protected]
Subject : Re: [Jprogramming] Removing annihilating pairs

Hi,

is the expected output of transforming 1 3 _3 3 5 to be 1 3 5 or 1 5 ?

On Fri, Dec 6, 2019 at 7:15 AM R.E. Boss <[email protected]> wrote:

> Given an array with zero or more annihilating pairs, i.e., two subsequent
> numbers which add up to zero, the question is to clean up the array by
> deleting all annihilating pairs such that no such pairs are left.
> I do have a solution that is both elegant and efficient (I believe), but I
> am curious about other thoughts.
>
>    foo  2 1 1 _1 2 _2 _1
> 2
>
>    foo 1 _1 2 _2{~100?.@#4              NB. Notice (?.)
> 2 1 2 1 _2 _1 2 1 1 2 2 2 _1 2 _1 2 1 2 2 2 1 1 _2 _1 2 1 _2 _1 _2 _2 _2
> _2 _1 _2 _1 _1 _2 _2 1 1 1 2 1 _2 1 _2 _1 _1 _1 2
>
>
> R.E. Boss
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to