  This paper introduces a fully algebraic two-level additive Schwarz
preconditioner for general sparse large-scale matrices. The preconditioner is
analyzed for symmetric positive definite (SPD) matrices. For those matrices,
the coarse space is constructed based on approximating two local subspaces in
each subdomain. These subspaces are obtained by approximating a number of
eigenvectors corresponding to dominant eigenvalues of two judiciously posed
generalized eigenvalue problems. The number of eigenvectors can be chosen to
control the condition number. For general sparse matrices, the coarse space is
constructed by approximating the image of a local operator that can be defined
from information in the coefficient matrix. The connection between the coarse
spaces for SPD and general matrices is also discussed. Numerical experiments
show the great effectiveness of the proposed preconditioners on matrices
arising from a wide range of applications. The set of matrices includes SPD,
symmetric indefinite, nonsymmetric, and saddle-point matrices. In addition, we
compare the proposed preconditioners to the state-of-the-art domain
decomposition preconditioners.
