在clojure中,矩陣的可能表示是向量的向量,即[[1 2] [3 4]]
。 一種可能實現轉置矩陣是: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)))
誰能想到一個更地道,以Clojure的實現?例如爲了避免這個可怕的循環重演?
你知道咒術?如果你需要各種矩陣操作,它可能是一個靈感來源 - https://github.com/liebke/incanter/wiki/matrices – sw1nn 2012-04-27 11:26:08