MAINT: use eigh instead of svd