This book is an introduction and analysis of the multigrid approach for the numerical solution of large sparse linear systems arising from the discretization of elliptic partial differential equations. It gives special attention to the powerful matrix-based-multigrid approach, which is particularly useful for problems with variable coefficients and nonsymmetric and indefinite problems. The approach used here applies not only to model problems on rectangular grids but also to more realistic applications with complicated grids and domains and discontinuous coefficients. The discussion draws connections between multigrid and other iterative methods such as domain decomposition. The theoretical background provides insight about the nature of multigrid algorithms and how and why they work. The theory is written in simple algebraic terms, and therefore, requires preliminary knowledge only in basic linear algebra and calculus.