  This work introduces, analyzes and demonstrates an efficient and
theoretically sound filtering strategy to ensure the condition of the
least-squares problem solved at each iteration of Anderson acceleration. The
filtering strategy consists of two steps: the first controls the length
disparity between columns of the least-squares matrix, and the second enforces
a lower bound on the angles between subspaces spanned by the columns of that
matrix. The combined strategy is shown to control the condition number of the
least-squares matrix at each iteration. The method is shown to be effective on
a range of problems based on discretizations of partial differential equations.
It is shown particularly effective for problems where the initial iterate may
lie far from the solution, and which progress through distinct preasymptotic
and asymptotic phases.
