I have question about the gradient of torch.cholesky and  torch.cholesky_inverse. I use the following example to solve a linear equation Ax=b, where A is symmetric. Then x is used to calculate loss. However, when loss.backward(), I find that A.grad is None. I am wondering what the correct way is to compute the gradient of loss w.r.t A and b.
Is it because the backward gradient is not implemented? Moreover, how to check whether a function in Pytorch has backward gradient?
import torch
A = torch.randn(3, 3, requires_grad=True)
A = torch.mm(A, A.t()) + 1e-05 * torch.eye(3) # make symmetric positive definite
b = torch.randn(3, 1, requires_grad=True)

u = torch.cholesky(A)
Ainv = torch.cholesky_inverse(u)

x = torch.matmul(Ainv, b)
loss = x.mean()
loss.backward()
print(A.grad)