I am running into few issues while trying to compute matrix derivatives. Here is a minimal working code to reproduce the error.

```
theta = torch.tensor(np.random.uniform(low=-np.pi, high=np.pi), requires_grad=True)
rot_mat = torch.tensor([[torch.cos(theta), torch.sin(theta), 0],
[-torch.sin(theta), torch.cos(theta), 0]],
dtype=torch.float, requires_grad=True)
torch.autograd.grad(outputs=rot_mat,
inputs=theta, grad_outputs=torch.ones_like(rot_mat),
create_graph=True, retain_graph=True)
```

The above code results in this error βOne of the differentiated Tensors appears to not have been used in the graph. Set allow_unused=True if this is the desired behavior.β

I tried using allow_unused=True but the gradients are returned as None. I am not sure what is causing the graph to be disconnected here. Any help is appreciated.