let hinge_grad x y y' = let open MX in let z = mapi (fun i j x -> if x < 1. then (0. -. y.{i,j}) else 0. ) (y *@ y') in (transpose x) $@ z /$ (float_of_int (row_num x))