anchor.diff:  (defun svd-1 (matrix &key trainer svd supervisor learning-rate0)
     (declare (type svd svd))
     ;; We work with sparse indices to avoid having to map indices and
  -  ;; compact SV then necessary.
  +  ;; compact SV when necessary.
     (let (sv0)
       (flet ((supervise (svd iteration)
                (multiple-value-bind (continuep parameters)
  
positive.code: (defun make-svd ()
    "Create an empty SVD."
    (make-array 0 :element-type 'sv :initial-element (create-sv 0 0)))
  
  (defun compact-sv (sv matrix)
    "Take SV that uses sparse indices of MATRIX and turn it into one
  
negative.code:                                        (* (aref (sv-left sv) row)
                                            (aref (sv-right sv) column)))))))
      sum))
  
  ;;; This is the performance critical loop. Compile it for each run.
  (defmacro train/epoch (&key matrix approximation
  