template<int BS>
class algebra::BlockDiagPrecond< BS >
block diagonal preconditioner: inverse of the BS x BS diagonal block of each node, for a system whose unknowns are numbered node by node (unknown BS*i + d is the component d of the node i). For the spin diffusion problem (BS = 3), this block holds the relaxation and the precession coupling s x u, local to each node, which the diagonal preconditioner misses (same preconditioner as the BLOCK3 of st-feeLLGood). The rows and columns of the Dirichlet components are replaced by the identity before inversion, so that the preconditioner does not mix the imposed components with the free ones.