Working block_preconditioner.h