Sturm-Liouville theory