First order and second order learning algorithms on the special orthogonal group to compute the SVD of data matrices