(define list->matrix
  (lambda (ls)
    (list->vector (map list->vector ls))))

(define matrix->list
  (lambda (m)
    (map vector->list (vector->list m))))

(define matrix-rows
  (lambda (m)
    (vector-length m)))

(define matrix-cols
  (lambda (m)
    (vector-length (vector-ref m 0))))

(define matrix-ref
  (lambda (m i j)
    (vector-ref (vector-ref m i) j)))

(define matrix-set!
  (lambda (m i j value)
    (vector-set! (vector-ref m i) j value)))