Fundamentals of Engineering Structural Dynamics with Python by Dr Seán Carroll