   "Check `sparsify`"
   (sparsify 1 -9999 [3 5] [[-9999 3 4 5] [-9999 5 5 6]]) => [3 -9999 5]
   (sparsify 2 -9999 [3 5] [[-9999 3 4 5] [-9999 5 5 6]]) => [4 -9999 5])
-
-(tabular
- (fact "Sparse expansion can take custom start and length."
-   (apply sparse-expander 0 ?matrix ?opts) => ?result)
- ?matrix         ?opts                  ?result
- [[10 1] [12 9]] []                     [1 0 9]
- [[10 1] [12 9]] [:start 8]             [0 0 1 0 9]
- [[10 1] [12 9]] [:start 8 :length 10]  [0 0 1 0 9 0 0 0 0 0]
- [[10 1] [15 9]] [:start 14 :length 3]  [0 9 0])
 
 (tabular
  (fact "idx and rowcol conversion for squares."

 [[10 1] [12 4] [8 1] [15 9] [16 1]] [1 0 4 0 0 9 1]
 [[10 1] [12 4] [8 1] [15 9]]        [1 0 4 0 0 9])

(fact
  "Check `sparse-prep`"
  (sparse-prep [[3 2]] [[1 1]]) => [[3 1] [2 1]]

    (transpose (transpose coll-mat)) => coll-mat
    (count (transpose coll-mat)) => (count (first coll-mat))))

(fact "check `outer-product` - verify values and dimension of the output."
  (let [coll [1 2 3]
        outer (outer-product coll)]
    outer => '(1.0 2.0 3.0 2.0 4.0 6.0 3.0 6.0 9.0)
