W clojure możliwe przedstawienie macierzy jest wektorem wektorów, tj. [[1 2] [3 4]]
. Ewentualna realizacja transpozycję macierzy byłoby:transpozycja macierzy w clojure
(defn transpose [matrix]
(loop [matrix matrix, transp [], i 0]
(if (< i (count (nth matrix 0)))
(recur matrix
(conj transp
(vec (reduce concat
(map #(conj [] (nth %1 i))
matrix))))
(inc i))
transp)))
ktoś może myśleć o bardziej idiomatycznych do realizacji Clojure? na przykład, aby uniknąć powtórki tej straszliwej pętli?
Wiesz o incanter? Jeśli potrzebujesz różnych operacji macierzowych, może to być źródłem inspiracji - https://github.com/liebke/incanter/wiki/matrices – sw1nn