Introduction to communication avoiding linear algebra algorithms in high performance computing