Lots of background material (eg, on linear algebra) can be found on the Hyper-textbook on optimization.
This book, by Calafiore and El Ghaoui, provides an introduction to optimization and linear algebra as well.
Convex Optimization, by Boyd and Vandenberghe.
Lectures on Convex Optimization, by A. Juditsky.
Introductory lectures on convex optimisation, by Y. Nesterov.
Nonlinear programming, by D. Bertsekas.
Convex Analysis, by R.T. Rockafellar.
Numerical optimization, by J. Nocedal & S. Wright.
Lectures on modern convex optimization, by A. Nemirovski.
Optimization for Machine Learning, by S. Sra, S. Nowozin, S. Wright.