This book introduces a methodology for solving the seismic inverse problem using purely numerical solutions of 3D wave equations and free of the approximations or simplifications that are common in classical seismic inversion methodologies and therefore applicable to arbitrary 3D geological media and seismic source models. Such waveform data contain a wealth of information about the details of the geological media and the seismic source, and the methodology introduced here allows for the full exploitation of that information. Source codes provided allow readers to experiment with the calculations demonstrated and also explore their own applications.