We introduce Sieve-SDP, a simple algorithm to preprocess semidefinite programs (SDPs). Sieve-SDP belongs to the class of facial reduction algorithms. It inspects the constraints of the problem, deletes redundant rows and columns, and reduces the size of the variable matrix. It often detects infeasibility. It does not rely on any optimization solver: the only subroutine it needs is Cholesky factorization, hence it can be implemented in a few lines of code in machine precision. We present extensive computational results on several problem collections from the literature. We also highlight an issue arising in SDPs with positive duality gap: on such problems SDP solvers may compute a ``fake" solution with an arbitrarily small constraint violation, and arbitrarily small duality gap.
View Sieve-SDP: a simple facial reduction algorithm to preprocess semidefinite programs