cpsc445. SVD, steepest gradient method, knn via quadtree