Re: Select from Tuplet using logical expression
- To: mathgroup at smc.vnet.net
- Subject: [mg116856] Re: Select from Tuplet using logical expression
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Wed, 2 Mar 2011 04:36:30 -0500 (EST)
On 3/1/11 at 5:20 AM, lt648 at hszk.bme.hu (Lengyel Tamas) wrote: >Skip if needed: >///I am working on a part combinatorical problem with sets of 3 >differently indexed values (e.g. F_i, F_j, F_k, F denoting frequency >channels) which are subsets of many values (e.g 16 different >frequency channels, denoted F_0, F_1 ... F_15). >Now, I need to select triplets from these channels, I used Tuplets. >So far so good. From these I need those combinations where indexes >i!=k and/or j!=k, and i=j is allowed (e.g {i,j,k} = {12, 12, 4} is= a >valid channel combination, but {3, 12, 3} is not)./// >So basically I need to generate triplets from a range of integer >numbers, where the first and second elements of these triplets do >not match the third. I thought Select would help, but I don't know >if there exists an option to control elements' values in a >condition. >From then on I must use these triplets' elements in a function. >But first I am asking your help in generating thos triplets of >numbers. Perhaps something like DeleteCases[Tuples[Range[3], 3], {a_, a_, a_} | {a_, _, a_}] will do well enough for you. But note, doing Tuples[Range[3]] generates all possible triplets with the integers from 1 to 3, including those you don't want. So, if your range of integers is large, this method may not be satisfactory as it will consume quite a bit of memory. It is a brute force rather than efficient method.