add eigendecomposition