Re: Getting stuck with finding an elegant solution without global variables
- To: mathgroup at smc.vnet.net
- Subject: [mg124923] Re: Getting stuck with finding an elegant solution without global variables
- From: Dana DeLouis <dana01 at me.com>
- Date: Sun, 12 Feb 2012 05:03:47 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
> I am trying to find an elegant solution, i.e. without a global
> variable to the following problem:
> Branch[Elem_, List_] := Elem + Cases[List, Except[Elem]]
>
> The the result would be {{3, 4, 5}, {3, 5, 6}, {4, 5, 7}, {5, 6, 7}}
Hi. Don't know if this would be of help.
Branch[v_List] := Map[Function[a, a + Cases[v, Except[a]]] , v]
Branch[{1,2,3,4}]
{{3,4,5}, {3,5,6}, {4,5,7}, {5,6,7}}
Your use of the function Except may not work well if there are duplicates in the list.
= = = = = = = = = = = = = =
HTH :>)
Dana DeLouis
Mac, Mathematica 8
= = = = = = = = = = = = = =
On Feb 7, 4:08 am, Fredob <fredrik.dob... at gmail.com> wrote:
> Hi,
>
> I am trying to find an elegant solution, i.e. without a global
> variable to the following problem:
>
> Given a list, e.g. {1,2,3,4}, create a new list where each element is
> a function of the "i th" element and the rest of the list, e.g.
>
> Branch[Elem_, List_] := Elem + Cases[List, Except[Elem]]
>
> The the result would be {{3, 4, 5}, {3, 5, 6}, {4, 5, 7}, {5, 6, 7}}
>
> I have used Map[f, List] but then I have to use a global variable in f
> to access the list itself, e.g. BranchG[Elem_] := Elem + Cases[List,
> Except[Elem]]