in reply to Re^2: Converting Arrays into Matrix
in thread Converting Arrays into Matrix

You can use my code with which ever order you want, just provide a sorted array to loop through.

UPDATE: you might think that the wanted sorting is obvious, but that's wrong.

take  [[qw/A X C/][qw/A Y C/] and find a heuristic that decides the order of X and Y.

You must be explicit about the order!!!

Cheers Rolf

Replies are listed 'Best First'.
Re^4: Converting Arrays into Matrix
by janDD (Acolyte) on Apr 27, 2011 at 18:59 UTC
    Dear Rolf
    You are right. However, In my case, the order of X and Y will be determined by a second (or nth) different vecor.
    What I mean is: There might be an arrays, which will be processed later like
    [qw/A B C X K/][qw/A B Y I J/]
    This means, that looking vertically at it: The Y comes before the X (right after B whereas the X comes after C) ...
    I think, I am doing a really bad job in explaining ... But do you know what I mean?
    Greetings, Jan
    In another post, I have provided sample data, where the diff algorithm doesnt produce what I expect. I will try and check yours as soon as possible.
    Jan
      Jan, I know what you mean but I doubt that you are right.

      The sample data you gave us so far is not sufficient to determine a strict order of all elements.

      (update e.g for the data given in Re^3: Converting Arrays into Matrix it's impossible to tell if A or 3 is the first element.)

      And it doesn't make much sense that someone else ordered different subsets in such a way without you already knowing that order.

      Anyway if you're theory is true, there is a pretty straight forward way to calculate this order.

      Check the first element of all sets, if exactly one of them never appears in a higher position you found your alpha-element.

      Now delete alpha from all sets and start again investigating the first elements to detect your beta.

      At the end you either have a strict order in an array @ordered or you've found at least one case of ambiguity of your data.

      Then put @ordered into my algorithm instead of sort keys ... and you've got your matrix.

      Cheers Rolf

        Dear Rolf,
        That was exactly the input I needed. I implemented you suggested algorithm and it gives me a reasonable result...
        Greetings,
        Jan