This book provides historical perspective on the problems studied by optimizers, statisticians, and geometric functional analysts; demonstrates the huge computational savings possible by exploiting simple updates for the determinant and the inverse after a rank-one update, and highlights the difficulties in algorithms when related problems are studied that do not allow simple updates at each iteration; and gives rigorous analyses of the proposed algorithms, MATLAB codes, and computational results.