Skip to content

crnumerics 0.6.0

Choose a tag to compare

@anun333 anun333 released this 13 Oct 23:21
· 74 commits to main since this release

crlin is new: verified linear algebra in binary64. crlin_solve returns,
for each component of the solution of A x = b, an interval proved to
hold the exact solution of the system as given, typically an ulp wide,
or says that the proof did not go through (A singular, or too
ill-conditioned). It is Rump's method with every bound taken from exact
sums and products or from an a priori error bound in round-to-nearest,
so it never switches the rounding mode, and a threaded BLAS can't break
it: any BLAS's dgemm, or a GPU's, can do the heavy products. In the
default mode a solve costs about 10 times an unverified one.

Beyond one system: several right-hand sides, interval data, least
squares and minimum-norm solutions, very ill-conditioned systems (to
condition numbers past 1e30), proofs of positive definiteness, and an
enclosure of every eigenvalue of a symmetric matrix. Each is checked
against exact rational answers.

pip install crlin brings the Python binding over NumPy, with wheels for
Linux (x86-64, aarch64) and macOS (Apple Silicon).

ival, crsum, crdist, crnn and lowp are unchanged but for ival's and
crdist's version strings, now 0.6.0; ival's soname is still libival.so.0.