행렬의 가능한 표현은 벡터의 벡터, 즉 [[1 2] [3 4]]
이다. 행렬을 전치의 가능한 구현은 다음과 같습니다클로저 내의 행렬 전치
(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