torchjd
torchjd copied to clipboard
Add SparseLatticedTensor
TODO:
- [ ] Add a special type of error for that, like UnsupportedOnSparseError. We could catch that + NotImplementedError, but not catch ValueError for instance.
- [ ] Prioritize using aten (low level) operations over torch (high level) operations to avoid going through all the dispatch mechanics several times.
- [ ] Add pointwise and 0-to-0 functions that take one Tensor and some other arguments that can be directly forwarded to the call on the physical to the default implementation of pointwise functions.
- [ ] Be careful about composition, need to make sure that every operation returns the right type of physical (and need tests).
- [ ] Investigate overflow of the
hnf_decompositionalgorithm, with a matrix of shape[5, 7], rank3and values in range[-50, 51[, there was overflow (See test prior to ba9bf21762d55483fbc06670698e78307e2fb725)