diffusion decomposition update