For any input matrix `W`

, I have the following implementation in `PyTorch`

. I was wondering if the following can be improved in terms of efficiency,

P.S. Would current implementation break backpropagation?

```
import torch
W = torch.tensor(((0,1,0,0,0,0,0,0,0),
(1,0,1,0,0,1,0,0,0),
(0,1,0,3,0,0,0,0,0),
(0,0,3,0,1,0,0,0,0),
(0,0,0,1,0,1,1,0,0),
(0,1,0,0,1,0,0,0,0),
(0,0,0,0,1,0,0,1,0),
(0,0,0,0,0,0,1,0,1),
(0,0,0,0,0,0,0,1,0)))
n = len(W)
C = torch.empty(n, n)
I = torch.eye(n)
for i in range(n):
for j in range(n):
B = W.clone()
B(i, j) = 0
B(j, i) = 0
tmp = torch.inverse(n * I - B)
C(i, j) = tmp(i, j)
```