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
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 |
Computing file changes ...