 (defn ^DoubleMatrix
   ridge-correction
   "returns a vector of corrections to the beta-update, given the
-  current iteration of the information matrix and score sequence. The
-  vector a is analogous to f(rdg_cons) = a*rdg_cons + b, and we are
-  interested in the correction factor that is calculated as follows:
-  Let v = rdg_cons.  Then we originally assume that f(0) = f(v)
-  [equivalent to no added constant along the diagnol], which may not
-  be correct.  A better approximation is f(0) - b, where b = f(v) -
-  a*v.  Then, correction = f(0) - b = f(v) - f(v) + a*v = a*v."
+  current iteration of the information matrix and score sequence.
+
+  NOTES: The vector a is analogous to f(rdg_cons) = a*rdg_cons + b,
+  and we are interested in the correction factor that is calculated as
+  follows: Let v = rdg_cons.  Then we originally assume that f(0) =
+  f(v) [equivalent to no added constant along the diagnol], which may
+  not be correct.  A better approximation is f(0) - b, where b = f(v)
+  - a*v.  Then, correction = f(0) - b = f(v) - f(v) + a*v = a*v."
   [info-mat scores rdg-cons]
   (let [stepsize (/ rdg-cons 10)
         upperbound (+ rdg-cons stepsize)


(defn ^DoubleMatrix
  beta-increment
  "increment beta without ridge correction; NOTE: cannot refactor
  DoubleMatrix/eye since it changes in memory, i.e., jBLAS objects
  don't behave like clojure data structures"
  [info-mat scores rdg-cons]
  (let [num-features (.rows info-mat)
        rdg-mat (.muli (DoubleMatrix/eye (int num-features)) (double rdg-cons))

           (dec iter)
           diff))))))


(defn unpack-neighbors
  "Returns a vector containing the fields of a forma-neighbor-value."
