Revision 681816cedf610ebc2e90d2fd499a57b8d3fac83a authored by Jishnu Bhattacharya on 14 January 2024, 15:03:44 UTC, committed by GitHub on 14 January 2024, 15:03:44 UTC
This is an attempt at resolving
https://github.com/JuliaLang/julia/issues/46636. Since each LAPACK
function generally has a specific meaning attached to a positive error
code, this PR tries to specialize `chklapackerror` for the caller to
throw a more informative error instead of a `LAPACKException`. For
example:
```julia
julia> U = UpperTriangular([1 2; 0 0])
2×2 UpperTriangular{Int64, Matrix{Int64}}:
 1  2
 ⋅  0

julia> inv(U)
ERROR: SingularException(2)
[...]
```
Currently, I've only specialized it for `trtrs!`, but if this seems
reasonable, I'll add others.

Functions to be implemented:

- [ ] `gbtrf`
- [ ] `gbtrs`
- [ ] `gebal!`
- [ ] `gebak!`
- [ ] `gebrd!`
- [ ] `gelqf!`
- [ ] `geqlf!`
- [ ] `geqp3!`
- [ ] `geqrt!`
- [ ] `geqrt3!`
- [ ] `geqrf!`
- [ ] `gerqf!`
- [ ] `getrf!`
- [ ] `tzrzf!`
- [ ] `ormrz!`
- [ ] `gels!`
- [ ] `gesv!`
- [ ] `getrs!`
- [ ] `getri!`
- [ ] `gesvx!`
- [ ] `gelsd!`
- [ ] `gelsy!`
- [ ] `gglse!`
- [ ] `geev!`
- [ ] `gesdd!`
- [ ] `gesvd!`
- [ ] `ggsvd!`
- [ ] `ggsvd3!`
- [ ] `geevx!`
- [ ] `ggev!`
- [ ] `ggev3!`
- [ ] `gtsv!`
- [ ] `gttrf!`
- [ ] `gttrs!`
- [ ] `orglq!`
- [ ] `orgqr!`
- [ ] `orgql!`
- [ ] `orgrq!`
- [ ] `ormlq!`
- [ ] `ormqr!`
- [ ] `ormql!`
- [ ] `ormrq!`
- [ ] `gemqrt!`
- [ ] `potrs!`
- [ ] `ptsv!`
- [ ] `pttrf!`
- [ ] `pttrs!`
- [ ] `trtri!`
- [x] `trtrs!`
- [ ] `trcon!`
- [ ] `trevc!`
- [ ] `trrfs!`
- [ ] `stev!`
- [ ] `stebz!`
- [ ] `stegr!`
- [ ] `stein!`
- [ ] `syconv!`
- [ ] `sytrs!`
- [ ] `sytrs_rook!`
- [ ] `syconvf_rook!`
- [ ] `hesv!`
- [ ] `hetri!`
- [ ] `hetrs!`
- [ ] `hesv_rook!`
- [ ] `hetri_rook!`
- [ ] `hetrs_rook!`
- [ ] `sytri!`
- [ ] `sytri_rook!`
- [ ] `syconvf_rook!`
- [ ] `syev!`
- [ ] `syevr!`
- [ ] `syevd!`
- [ ] `bdsqr!`
- [ ] `bdsdc!`
- [ ] `gecon!`
- [ ] `gehrd!`
- [ ] `orghr!`
- [ ] `ormhr!`
- [ ] `hseqr!`
- [ ] `hetrd!`
- [ ] `ormtr!`
- [ ] `gees!`
- [ ] `gges!`
- [ ] `gges3!`
- [ ] `trexc!`
- [ ] `trsen!`
- [ ] `tgsen!`
- [ ] `trsyl!`
1 parent eadec43
History
File Mode Size
checksums
patches
tools
valgrind
.gitignore -rw-r--r-- 26 bytes
JuliaSyntax.mk -rw-r--r-- 677 bytes
JuliaSyntax.version -rw-r--r-- 244 bytes
Makefile -rw-r--r-- 6.0 KB
blastrampoline.mk -rw-r--r-- 2.1 KB
blastrampoline.version -rw-r--r-- 196 bytes
clang.version -rw-r--r-- 123 bytes
csl.mk -rw-r--r-- 5.3 KB
csl.version -rw-r--r-- 57 bytes
curl.mk -rw-r--r-- 3.4 KB
curl.version -rw-r--r-- 95 bytes
dsfmt.mk -rw-r--r-- 2.2 KB
dsfmt.version -rw-r--r-- 96 bytes
gfortblas.alias -rw-r--r-- 706 bytes
gfortblas.c -rw-r--r-- 4.4 KB
gmp.mk -rw-r--r-- 3.5 KB
gmp.version -rw-r--r-- 70 bytes
ittapi.mk -rw-r--r-- 1.6 KB
ittapi.version -rw-r--r-- 91 bytes
libgit2.mk -rw-r--r-- 3.7 KB
libgit2.version -rw-r--r-- 429 bytes
libssh2.mk -rw-r--r-- 2.4 KB
libssh2.version -rw-r--r-- 167 bytes
libsuitesparse.mk -rw-r--r-- 4.4 KB
libsuitesparse.version -rw-r--r-- 181 bytes
libtracyclient.mk -rw-r--r-- 3.4 KB
libtracyclient.version -rw-r--r-- 227 bytes
libuv.mk -rw-r--r-- 2.4 KB
libuv.version -rw-r--r-- 154 bytes
libwhich.mk -rw-r--r-- 1.2 KB
libwhich.version -rw-r--r-- 78 bytes
lld.version -rw-r--r-- 60 bytes
llvm-options.mk -rw-r--r-- 564 bytes
llvm-tools.version -rw-r--r-- 182 bytes
llvm-ver.make -rw-r--r-- 664 bytes
llvm.mk -rw-r--r-- 11.8 KB
llvm.version -rw-r--r-- 919 bytes
llvmunwind.version -rw-r--r-- 95 bytes
mbedtls.mk -rw-r--r-- 3.4 KB
mbedtls.version -rw-r--r-- 103 bytes
mpfr.mk -rw-r--r-- 2.4 KB
mpfr.version -rw-r--r-- 73 bytes
nghttp2.mk -rw-r--r-- 2.0 KB
nghttp2.version -rw-r--r-- 102 bytes
objconv.mk -rw-r--r-- 1.0 KB
objconv.version -rw-r--r-- 264 bytes
openblas.mk -rw-r--r-- 8.3 KB
openblas.version -rw-r--r-- 227 bytes
openlibm.mk -rw-r--r-- 1.3 KB
openlibm.version -rw-r--r-- 163 bytes
p7zip.mk -rw-r--r-- 1.6 KB
p7zip.version -rw-r--r-- 76 bytes
patchelf.mk -rw-r--r-- 2.2 KB
patchelf.version -rw-r--r-- 112 bytes
pcre.mk -rw-r--r-- 2.2 KB
pcre.version -rw-r--r-- 74 bytes
sanitizers.mk -rw-r--r-- 1017 bytes
unwind.mk -rw-r--r-- 6.5 KB
unwind.version -rw-r--r-- 106 bytes
utf8proc.mk -rw-r--r-- 1.5 KB
utf8proc.version -rw-r--r-- 78 bytes
zlib.mk -rw-r--r-- 1.4 KB
zlib.version -rw-r--r-- 164 bytes

back to top