numerical algorithms in clojure