Hilbert spaces show up a lot in mathematics, physics, and engineering, often as infinite-dimensional function spaces. They are especially useful for studying partial differential equations, quantum mechanics, Fourier analysis (which includes signal processing and heat transfer). Hilbert spaces are used in ergodic theory which is the mathematical basis of thermodynamics. All normal Euclidean spaces are also Hilbert spaces. Other examples of Hilbert spaces include spaces of square-integrable functions, spaces of sequences, Sobolev spaces made up of generalized functions, and Hardy spaces of holomorphic functions.