the core.matrix library is excellent for slicing matrices along arbitrary dimensions:
project.clj:
(defproject hello "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[net.mikera/core.matrix "0.18.0"]]
:source-paths ["dev"])
hello/matric.clj:
(ns hello.matrix
(:refer-clojure :exclude [* - + == /])
(:use [clojure.core.matrix]
[clojure.core.matrix.operators]
[clojure.pprint]))
(def x (matrix [[1 2] [3 4]]))
(def y (matrix [[5 6] [7 8]]))
(def xy (matrix [x y]))
(pprint (slices xy 0))
(pprint (slices xy 1))
(pprint (slices xy 2))