MIRCO
MIRCO steht für Matrices, Interpolation, Random numbers, Calculus, Optimization. Es ist das Paket für wissenschaftliches Rechnen in Hilde und übernimmt die Rolle, die NumPy und SciPy für Python spielen. Alle Module tragen das Präfix Mirco, und es gilt dieselbe Lizenz wie für Hilde. Quelltext der Sprache: github.com/heikozim/hilde.
Was es enthält
- Arrays:
NdArray[T]mit Views und Broadcasting, einem Übertragungsformat und einer Rechenschicht. - Lineare Algebra: LU, Cholesky, QR, kleinste Quadrate, Eigenwerte und SVD.
- Interpolation: mit Splines.
- Optimierung: mit Brent, goldenem Schnitt, Nelder-Mead und BFGS.
- Dazu: FFT, Integration und Statistik.
- Zufallszahlen: PCG64 und PCG64DXSM.
defaultRngliefert für denselben Seed dieselben Zahlen wie NumPy (SeedSequence, Ziggurat). - Einheiten: im Typsystem, nach SI.
- Dateiformate: ROOT vom CERN, RNTuple mit XXH3-Prüfsummen, HDF5 und netCDF, außerdem xz und Zstandard.
- C-Backend: mit BLIS, LAPACK und pocketfft, und Aufrufe aus Python über ctypes.
„unsafe“ nur in den Bindings
MIRCO hat genau acht unsafe-Module, alle unter Bindings: DuckDB, HDF5, LAPACK, libm, netCDF, Number, pocketfft und Ziggurat. Alle anderen Module sind sicher und bauen auf diesen auf.