A recursive divide-and-conquer approach for sparse principal component analysis