Given a matrix A and the vectors u and b and an orthonormal nullspace B. What does the following code actually solve?
solver = KrylovSolver()
solver.set_nullspace(B)
solver.solve(A, U, b)
I would have assumed it solves $$(1-B^TB)\;A\;x = (1-B^T B)\;b.$$ Is this correct or is the projector only applied to the left hand side, i.e. $$(1-B^TB)\;A\;x = b$$ and if so how do I project also the right hand side?