Oh ok, I think I see where the problem is.  There's a mistake/bug in
how I rerepresent the nested array.  I represent that array as a 2x3
internally, when it should actually be a 3x2.  Which is why I was
thinking the printing was (and still is) backwards.

However, these two statements:

>         (.index m (int-array [0 1]))
> and
>         (-> m (nth 0) (nth 1))

I don't expect to yield the same results.  I would expect (.index m
(int-array [0 1])) and (-> m (nth 1) (nth 0)) to yield the same
results.  This is because the first is equivalent to taking item 0 in
the first dimension (always rows) and item 1 in the second dimension
(always columns), whereas the second type of statement would say (in
your example) take item 0 of the last dimension (columns in this case)
and then take item 1 of next to last dimension (rows in this case).

On a related note, I am currently representing the matrices in column-
major order, which is different from how C and Numpy represent
matrices internally.  Thinking about matrices in column major order
came more naturally to me (and I think the Colt library also
represents in column major order), but I have been thinking about
changing it.

-Adler
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to