Math problem giving me a headache, please advise!


    Dec 02 2012 | 3:31 pm
    Hello math folks
    I need your help to help me solve a math trick, any advice is very appreciated
    I have these numbers: 4 3 2 1.5 1 0.75 0.5 0.25
    I need to create a coll that contains ALL the permutations of these numbers which the sum is always equal to 4
    any idea for a quick patch or suggestion?
    many thanks

    • Dec 02 2012 | 3:36 pm
      For permutations I mean
      4
      3 1
      1 3
      2 2
      2 1 1
      1 2 1
      1 1 2
      1 1 1 1
      0.5 1 1 1
      1 0.5 1 1
      1 1 0.5 1
      1 1 1 0.5
      and so on...
    • Dec 02 2012 | 3:41 pm
      You used the word "permutation," but the example you gave is not a collection of permutations. A permutation is a reordering, so if your original sequence contains 8 elements, as yours does, every permutation will also contain 8 elements.
      So I haven't a clue about what problem you're trying to solve. Before anyone can help you, you'll have to explain the problem accurately and completely.
    • Dec 02 2012 | 3:57 pm
      you're right, I'll try to explain better.
      I need to create a coll that contains all the possible lists (from 1 to 16 numbers) using (4 3 2 1.5 1 0.75 0.5 0.25)
      in which total sum is 4
      for example:
      4
      ---
      2 2
      ---
      2 1 1
      1 2 1
      1 1 2
      --
      1.5 1 1.5
      1 1.5 1.5
      1.5 1.5 1.5
      ---
      0.5 0.5 1 2
      2 1 0.5 0.5
      0.5 1 0.5 2
      2 1 0.5 0.5
      0.5 2 0.5 1
      and so on
      as you can see as the list grows I need also all the permutations
      sorry for my english, not easy to talk of math in a foreign language
    • Dec 02 2012 | 3:58 pm
      1.5 1 1.5
      1 1.5 1.5
      1.5 1.5 1
      SORRY
    • Dec 02 2012 | 4:45 pm
      I would concentrate my efforts on 2 individual problems:
      1- Getting the different combinations of numbers, independently of the order of the elements in the list.
      To that extent, you could use a high to low generation methodology. Here's an example to get to the number "3":
      3
      2 1
      2 0.75 0.25
      2 0.5 0.5
      2 0.5 0.25 0.25
      2 0.25 0.25 0.25 0.25
      1.5 1.5
      1.5 1 0.5
      1.5 1 0.25 0.25
      1.5 0.75 0.75
      1.5 0.75 0.5 0.25
      1.5 0.75 0.25 0.25 0.25
      1.5 0.5 0.5 0.5
      1.5 0.5 0.5 0.25 0.25
      .......
      2- Generate all possible permutations for each list created, maybe with the help of the [permute] object from http://www.essl.at/works/rtc.html
      Disclaimer: I've never tried any of this... ;-)
    • Dec 02 2012 | 5:56 pm
      Hi Pedro
      yes that's what I'm doing.. I just hoped there was a faster method..
      For permutations I'm using zl.permute
      it is coming like this
      4
      3 1
      3 0.75 0.25
      3 0.5 0.5
      3 0.5 0.25 0.25
      3 0.25 0.25 0.25 0.25
      2 2
      2 1 1
      2 1 0.75 0.25
      2 1 0.5 0.5
      2 1 0.5 0.25 0.25
      2 1 0.25 0.25 0.25 0.25
      2 1.5 0.5
      2 1.5 0.25 0.25
      2 0.75 0.25 0.75 0.25
      2 0.5 0.5 0.5 0.5
      2 0.5 0.25 0.25 0.5 0.25 0.25
      2 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25
      1.5 1.5 1 0.75 0.25
      1.5 1.5 0.5 0.5
      1.5 1.5 0.5 0.25 0.25
      1.5 1.5 0.25 0.25 0.25 0.25
      and so on...
    • Dec 02 2012 | 5:59 pm
      sorry zl.scramble
    • Dec 03 2012 | 10:19 pm
      Great patch, nicolas! Simple and efficient.