How to optimize lower Cholesky Parameter in Pytorch?
Is there any way to create a parameter which is lower triangular with positive diagonal and enforce this constraint during optimization in Pytorch?

Check this one torch.potrf.

A simple example:

a = torch.randn(3, 3)
a = torch.mm(a, a.t()) # make symmetric positive definite
l = torch.potrf(a, upper=False)

tri_loss = l.sum()
opt.zero_grad()
tri_loss.backward()
opt.step()

