dual decomp for diversity