Functional analysis is a branch of mathematics that deals with studying spaces of functions and operators, such as normed spaces and Banach spaces. It involves the study of completeness, bounded linear operators, the Closed Graph Theorem, the Open Mapping Theorem, the Hahn-Banach Theorem, inner product spaces, Hilbert spaces, orthogonality, projection theorem, Riesz Representation Theorem, Fourier series, linear operators, functionals, bounded and unbounded operators, adjoint operators, compact operators, and the Spectral Theorem for compact operators. Functional analysis also includes topics such as measure theory and integration, Lp spaces, spectral theory, functional calculus, applications to differential equations, topological vector spaces, weak and weak* topologies, locally convex spaces, distributions, Sobolev spaces, convex analysis, optimization, convex sets and functions, separation theorems, convex optimization problems, duality, and algorithms for convex optimization.