heat icon indicating copy to clipboard operation
heat copied to clipboard

implement `linalg.cholesky`

Open mtar opened this issue 3 years ago • 1 comments

Feature functionality computes the cholesky decomposition Intended scope:

  • real/complex matrices
  • split $\in${ 0,1,None}
  • of course, appropriate scalability of the routine is desired

Additional context

https://numpy.org/doc/stable/reference/generated/numpy.linalg.cholesky.html https://pytorch.org/docs/stable/generated/torch.linalg.cholesky.html https://data-apis.org/array-api/latest/extensions/linear_algebra_functions.html?#linalg-cholesky-x-upper-false

After obtaining a triangular matrix by Cholesky, one often uses triangular solvers #1096

mtar avatar Nov 03 '21 12:11 mtar

My suggestion: implement "standard" Cholesky (see, e.g., https://en.wikipedia.org/wiki/Cholesky_decomposition) but block-wise using PyTorch for the blocks; in this sense, the formulas from wikipedia can be used but the $L_{i,j}$'s and $A_{i,j}$'s are blocks (i.e. matrices) instead of numbers. Of course, dividing by some $L_{i,i}$ has now to be replaced by applying the matrix-inverse of $L_{i,i}$ (by triangular solve in PyTorch) etc. ...

mrfh92 avatar Dec 18 '23 11:12 mrfh92