Exploiting Hidden Structure in Matrix Computations: Algorithms and Applications