Olá pessoal. Gostaria de inverter uma matriz diagonal com algum processo que use menos memória que o do exemplo abaixo. (tenho uma matriz enorme e não esta invertendo via solve()).

d<-c(1,1,0.5,0.75,0.5,0.5)
d<-diag(d)
i<-solve(d)
i
diag(i) # resultado que eu quero, mas de uma forma a gastar menos memória para diagonais gigantes!!!!