introductory functional analysis with applications