axiolid-numeric 0.1.0

Numeric substrate: bracketed and polynomial root finding, adaptive quadrature, dense least squares, and minimisation, each with error estimates
Documentation
  • Coverage
  • 100%
    170 out of 170 items documented0 out of 71 items with examples
  • Size
  • Source code size: 139.9 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.4 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 7s Average build duration of successful builds.
  • all releases: 4s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • axiolid/kernel
    3 0 56
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • GeneralPawz

axiolid-numeric

General numeric routines that geometry algorithms build on: bracketed root finding (Brent) and every real root of a polynomial in an interval, adaptive Gauss-Kronrod quadrature and fixed Gauss-Legendre rules, LU, Cholesky and column-pivoted QR solves, linear least squares with and without equality constraints, Levenberg-Marquardt for nonlinear least squares, and Brent's bounded scalar minimiser. Each result carries a bracket, an error estimate or a condition estimate, and each iterative routine says whether it met its tolerance. Non-finite input, singular or rank-deficient matrices and unbracketed roots are refused by name. Values are plain f64; there are no geometry types and no dependencies.

cargo add axiolid-numeric

Design notes

Polynomial roots are isolated through the roots of the derivative, and a sign is trusted only where the value exceeds a rigorous bound on its own rounding error. Where it does not (a multiple root, a cluster closer than f64 separates) the answer is an unresolved region with the most roots it can hold, not a guessed count. For exact decisions on integer polynomials use axiolid-exact.

Older inline routines elsewhere in the workspace (bisection and an 8-point Gauss-Legendre rule in axiolid-evaluate, the interpolation solve in axiolid-nurbs) are unchanged; new code should use this crate.