Optimized linear algebra (LA) libraries that are able to exploit the underlying hardware are always of interest in the high-performance computing community. The implementation of LA software has evolved along with computer architecture, while the specification remains unaltered almost from the beginning. It is important to differentiate between the specification of LA libraries and their implementation. Because LA libraries pursue high performance, the implementation for a given architecture needs to be optimized for it specifically. However, the type of operations included in the libraries, the input/output parameters, and the data types to be handled are common to all of them. This is why, while the specification remains constant, the implementation evolves with the creation of new architectures. This book presents the main characteristics of LA libraries, showing the differences between the standards for sparse and dense versions. It further explores relevant linear algebra problems and shows, in a clear and understandable way, how to solve them using different computer architectures. Covering topics such as programming models, batched computing, and distributed memory platforms, this premier reference source is an excellent resource for programmers, computer scientists, engineers, students and faculty of higher education, librarians, researchers, and academicians.