Low-rank estimation and embedding learning: theory and applications