In-Numerus u l-istess tweġiba darbtejn

Differenza fil-punt deċimali tista’ tidher żgħira sakemm tbiddel test, simulazzjoni, replaja, jew passaġġ ta’ deċiżjoni. Numerus iqis l-aritmetika bħala...

In-Numerus u l-istess tweġiba darbtejn

The bug that only exists on the other machine

The most irritating numeric bug is the one that refuses to appear where you are looking. The test fails on CI, not locally. The simulation drifts after a dependency update. The embedded target produces a slightly different result from the server. The model pipeline looks fine until replay asks for the same calculation twice and receives two answers that are close enough to start an argument.

Close is sometimes fine. Close is not always a contract. If a calculation is part of a replay path, a safety check, a simulation, a pricing decision, a digital twin, an audit trail, or a model compression step, then close can turn into a product risk. The difference may be tiny. Tiny differences are still differences. Software has made entire careers out of being offended by tiny differences.

This is the reason Numerus exists in the Dweve stack. The Numerus page frames it as an open-source numeric foundation for deterministic arithmetic: binary and decimal fixed-point, Dweve AXIOM adaptive variable-point math, integer-oriented operation, Rust, no_std-capable surfaces, verification against high-precision references where meaningful, and deterministic profiles intended to make replay calmer across supported targets. The shared common numeric layer underneath is wider still: binary, ternary, integer, fixed, float, and adaptive AXIOM families under one Element-style contract. The exact implementation details matter to engineers. The product lesson is simpler: arithmetic is not background noise. It is infrastructure.

When a result enters a replay or audit path, the useful question is not whether two answers are close. It is whether the system can make the same answer twice.

That sounds obvious until you follow where numbers travel. A simulation feeds a digital twin. The twin feeds a dashboard. The dashboard informs a human decision. The decision is recorded. A month later somebody asks why. If the numeric layer cannot reproduce the calculation,the rest of the evidence chain becomes wobbly. It may still be defensible, but now the team has to explain an avoidable source of drift. That is a bad hobby.

Floating point is not morally wrong

This is not a sermon about floating point being evil.Floating point is one of the reasons modern computing works. It is fast, compact, well supported, and exactly right for many workloads. The problem starts when teams pretend its behaviour is a universal governance contract.

Floating point lives in a worldof rounding modes, hardware differences, compiler choices, instruction selection, fused operations, vectorization, denormals, library behaviour, and target-specific details. Most of the time this is manageable. Sometimes it is even invisible. Then you need bit-exact replay, or cross-target parity, or deterministic simulation, or a build that should behave the same after being moved from server to edge. Suddenly the details stop being academic. They become a meeting.

Numerus takes a different path for workloads where repeatability matters more than pretending every operation is a tiny weather system. Integer-only arithmetic makes the representation explicit. Fixed-point formats define where the decimal lives. Decimal families handle values where exact places matter. Dweve AXIOM gives a way to adapt exponent shape per value without handing control back to an opaque floating environment. The point is not one numeric form forever. The point is choosing a form with a contract.

Dan huwa importanti għax is-sistemi tal-prodott mhux biss jikkalkulaw. Huma jiftakru. Huma jirrepetu. Huma jqabblu. Huma jispjegaw. Jekk l-istess kalkolu jagħti riżultati differenti fuq uċuħ differenti appoġġati, id-differenza ssir parti mill-prodott kemm jekk xi ħadd ippjanaha u kemm jekk le.

Librerija numerika waħda fil-fatt hija diversi wegħdiet

Fundament numeriku mhuwiex ħaġa waħda. Huwa sett ta' wegħdiet għal udjenzi differenti. L-inġinier embedded jieħu ħsieb li l-miri ristretti jkunu jistgħu jħaddmu l-profili rilevanti orjentati lejn l-integri mingħajr ma jkaxkru runtime ta' server komdu. L-inġinier tas-simulazzjoni jieħu ħsieb li r-replay ikun jista' jirriproduċi stat. Il-persuna tal-awditjar tieħu ħsieb li t-triq tat-tweġiba tkun tista' tiġi spjegata. Is-sid tal-prodott jieħu ħsieb li l-ħaġa ma timxix bħal kalkulatur nervuż meta titmexxa minn ambjent għal ieħor.

Il-paġna pubblika ta' Numerus tenfasizza l-familji li n-nies jistaqsu dwarhom l-aktar l-ewwel: Q-format fixed-point, Decimal u AXIOM. Il-codebase huwa usa'. common/numeric iġorr forom binarji XNOR u POPCNT, valuri ternarji, integri nattivi u sub-byte, aliases ta' fixed-point, formati żgħar ta' float u AXIOM adattiv. Il-faċċata ta' Numerus imbagħad iżżid l-uċuħ deċimali u aritmetiċi li jħarsu lejn il-prodott madwar dak il-fundament. Dik id-diviżjoni importanti għax tevita l-eleganti falza li tisfurza kull numru f'kostum wieħed.

Xogħlijiet differenti jeħtieġu forom ta' numri differenti. Il-wegħda kondiviża hija mġiba deterministika fuq l-erja numerika usa', mhux rappreżentazzjoni moda waħda għal kollox.

Dan huwa tip ta' inġinerija Ewropew ħafna fl-aħjar sens. Inqas dramm, aktar kuntratt. Il-kalkolu għandu jiddikjara x'inhu. Il-firxa għandha tkun magħrufa. L-imġiba deċimali għandha tkun espliċita. Il-kostrizzjonijiet tal-mira għandhom jiġu rispettati. Ir-riżultat għandu jkun riproduċibbli. Ħadd m'għandu bżonn keynote għal dak. Għandhom bżonn li jaħdem.

AXIOM jistħoqqlu l-artiklu tiegħu stess għax mhuwiex biss alias ieħor fil-lista. Huwa l-familja adattiva ta' varjabbli-punt ta' Dweve: sinjal, indiċi tal-esponent u mantissa ppakkjati f'rappreżentazzjoni kompatta, b'listi ta' esponenti magħżula għal data ġenerali, densa, fina-granulata jew f'forma ta' network newrali. Dan il-post biss ipoġġih fil-mappa ta' Numerus. L-istorja aktar profonda hija kif l-għażla adattiva tal-esponenti tagħti aktar spazju lil kobor li jinbidel mingħajr ma tagħmel l-aritmetika mhux deterministika għal darb'oħra.

Dan jipprevjeni wkoll li wieħed jesaġera. Numerus ma jagħmilx kull problema numerika faċli. Ma jneħħix il-ħtieġa li tagħżel skali, firxiet, imġiba ta' tqrib, listi ta' esponenti, wisa' tal-mantissa jew dominji ta' verifikazzjoni. Aritmetika ta' punt fiss u punt varjabbli t-tnejn jistgħu jintużaw ħażin b'entużjażmu kbir. Il-valur huwa li l-użu ħażin isir aktar viżibbli. Kuntratt numeriku espliċitu jagħtik xi ħaġa x'tirrevedi. Assunzjoni moħbija ta' float tagħtik ghost żgħir fil-produzzjoni.

Il-verifikazzjoni mhijiex badge

Kull librerija numerika eventwalment titgħallem li kliem bħal korrett u preċiż huwa rħis sakemm jitwaħħal ma' harness. Korrett fejn? Preċiż meta mqabbel ma' xiex? Fuq liema dominju ta' input? B'liema imġiba ta' tqrib? Fuq liema rilaxx? Taħt liema testijiet?

Il-materjal ta' Numerus ipoġġi l-verifikazzjoni fuq quddiem: CORDIC b'integri biss għal funzjonijiet traskendenti, tqabbil ma' oraklu MPFR ta' preċiżjoni għolja, testijiet ta' proprjetà, u kontrolli ta' rilaxx. It-talba eżatta hija sinifikanti biss meta marbuta ma' dik il-makkinarju. Badge li tgħid preċiż hija dekorazzjoni. Harness li jqabbel, inaqqas, u jfalli huwa inġinerija.

Il-kunfidenza numerika għandha tiġi minn triq ta' oraklu u minn testijiet ta' proprjetajiet, mhux minn chart li tidher kuntenta biha nfisha.

Din id-distinzjoni importanti għaliex il-bugs numeriċi spiss jinħbew fit-truf. In-nofs tad-dominju jġib ruħu sew. Id-demo jġib ruħu sew. Il-valuri ordinarji jġibu ruħhom sew. Imbagħad jasal il-valur tal-konfini u jġib miegħu clipboard. Inputs negattivi, valuri qrib iż-żero, konfini ta' overflow, transizzjonijiet ta' skala, tondijiet ta' rounding, konfini ta' listi ta' esponenti u operazzjonijiet ripetuti huma fejn il-libreriji numeriċi jew jaqilgħu l-fiduċja jew jibdew jiktbu finzjoni.

L-ittestjar ta' proprjetajiet huwa utli għaliex il-bnedmin ma jafux jimmaġinaw il-modi kollha kif numru jista' jkun tedjanti. Oraklu ta' preċiżjoni għolja huwa utli għaliex l-implimentazzjoni teħtieġ referenza li mhijiex hi stess. Il-kontrolli tar-rilaxx huma utli għaliex talba vverifikata mix-xahar li għadda mhijiex garanzija għal dan ix-xahar. Is-softwer ma jibqax korrett b'korteżija.

Id-determiniżmu jappartjeni lill-arkitettura, mhux f'nota f'qiegħ il-paġna

Huwa jitħajjar li wieħed jittratta l-aritmetika deterministika bħala dettalju ta' librerija ta' livell baxx. Huwa hemm fejn ħafna timijiet jitilfuha. Sakemm il-prodott ikun jeħtieġ replay, is-suppożizzjonijiet numeriċi jkunu diġà mifruxin fost servizzi, notebooks, targets inkorporati, għodod ta' mudelli, u testijiet ta' integrazzjoni. Imbagħad id-determiniżmu jsir retrofit. Ir-retrofits huma fejn il-baġits imorru jiżviluppaw il-karattru.

Il-mument it-tajjeb biex tiddeċiedi l-pożizzjoni numerika huwa kmieni. Dan il-workload jeħtieġ replay stabbli bit-bit? Jaqsam magni? Jaqsam arkitetturi? Isostni deċiżjoni regolata? Jitma' simulazzjoni? Isir data ta' taħriġ, input ta' inferenza, output ta' kompressjoni ta' mudell, jew stat ta' tewmin diġitali? Jekk iva, l-aritmetika hija arkitettonika.

Numerus joqgħod maġenb FMI u Twin preċiżament għal dik ir-raġuni. FMI jieħu ħsieb kernels ta' simulazzjoni deterministiċi u skambju ta' mudelli. Twin jieħu ħsieb li jirriproduċi stat operazzjonali jew fiżiku maż-żmien. Ledger jirreġistra avvenimenti operazzjonali. Trace iġorr evidenza ta' komputazzjoni li tista' terġa' tintlagħab. Dawk is-saffi jsiru biss aktar kalmi meta s-saff numeriku taħthom ma jkunx qed jiżżerżaq bħal shopping cart b'rota waħda ħażina.

Fis-sistemi tal-AI dan isir saħansitra aktar konkret. Kwantizzazzjoni, punteġġjar, ranking, simulazzjoni, restrizzjonijiet, kalibrazzjoni, kompressjoni u replay kollha jużaw numri. Jekk dawk in-numri jġibu ruħhom differenti bejn ambjenti, il-mudell jista' ma jkunx il-ħati. Huwa sempliċement l-aktar suspettat viżibbli. Konvenjenti, iżda mhux dejjem korrett.

Magni żgħar mhumiex ċittadini tat-tieni klassi

Ħafna arkitettura tal-AI u tas-simulazzjoni bil-kwiet tassumi magna komda. Se jkun hemm server. Se jkun hemm GPU. Se jkun hemm biżżejjed memorja. Se jkun hemm servizz cloud. Se jkun hemm kont li jġiegħel lil xi ħadd jivvinta l-frażi investiment strateġiku.

Is-sistemi reali mhumiex daqshekk ordnati. Xi kalkoli jeħtieġu li jitmexxew fuq targets inkorporati. Xi wħud jgħixu fit-tarf. Xi wħud joqogħdu ġewwa apparati mingħajr unità b'punt li jvarja. Xi wħud jeħtieġu kompatibbiltà no_std. Xi wħud jeħtieġu li jibqgħu jaħdmu meta n-netwerk ma jkunx mistieden. Jekk il-pedament numeriku jġib ruħu sew biss fil-każ komdu, mhuwiex pedament. Huwa għamara.

L-istess kuntratt numeriku irid jibqa' jgħix taħt ir-restrizzjonijiet ta' skjerament, mhux biss fuq il-laptop tal-iżviluppatur fejn kollox huwa ġeneruż u sħun.

L-aritmetika orjentata lejn l-integri tgħin hawnhekk għax tnaqqas id-dipendenza fuq imġiba ta' floating li tvarja skont it-target, fejn il-ħidma tista' tuża dawk il-profili. Uċuħ li jappoġġaw no_std jgħinu għax mhux kull ambjent għandu l-lussu tal-librerija standard ta' proċess ta' server. Il-punt mhuwiex nostalġija għal magni iżgħar. Huwa kontroll fuq liema kuntratt numeriku jivvjaġġa lejn targets ristretti.

Dan mhuwiex nostalġija għal magni iżgħar. Huwa kontroll. Jekk il-kalkolu huwa parti mill-prodott, il-prodott m'għandux jeħtieġ l-aktar ambjent komdu biex ikun affidabbli.

L-eżempju boring huwa dak importanti

Immaġina kalkolu ta' doża, kalkolu ta' tariffa, pass ta' simulazzjoni, valur ta' sensor riprodott, jew limitu ta' kompressjoni ta' mudell. Ħadd minn dawn ma jinstema' glamorous. Tajjeb. Il-glamour huwa fejn normalment jibda l-ippanċjar. L-eżempji boring huma fejn id-determiniżmu numeriku jaqla' l-importanza tiegħu.

Jekk ir-riżultat jintuża darba u jintesa, drift żgħir jista' ma jimpurtax. Jekk ir-riżultat jiġi rreġistrat u riprodott, jimpurta. Jekk jitqabbel bejn ambjenti differenti, jimpurta. Jekk jitma' deċiżjoni aktar tard, jimpurta. Jekk klijent, awditur, jew inġinier jista' jistaqsi għaliex deher dan il-valur, żgur jimpurta. F'dak il-punt, il-kalkolu m'għadux dettal ta' implimentazzjoni interna. Huwa parti mill-istorja li jirrakkonta l-prodott.

Huwa għalhekk li Numerus mhijiex biss librerija tal-matematika b'mod astratt. Hija komponent f'arkitettura ta' evidenza. Tagħti lil sistemi oħra saff numeriku aktar kalm biex joqgħodu fuqu. Reed jista' janalizza s-sors b'ricevuti. Ledger jista' jirreġistra avvenimenti. BitWeave jista' jagħmel l-irkupru deterministiku. HEDL jista' jagħmel id-dejta strutturata inqas ħela. Numerus tagħmel l-aritmetika inqas tiżloq. Kull biċċa tneħħi post wieħed fejn is-sistema kieku t'għolli spallejha.

Il-lezzjoni

Il-lezzjoni ta' Numerus hija li n-numri huma mġiba tal-prodott. Mhux biss dettal ta' implimentazzjoni. Mhux biss matematika. Imġiba. Jekk l-istess input jista' jipproduċi tweġiba differenti meta jitmexxa lejn ambjent ieħor appoġġat, dik id-differenza issa tappartjeni lill-prodott.

Aritmetika deterministika mhijiex dejjem meħtieġa. Meta tkun meħtieġa, għandha tiġi ddisinjata minn qabel minflok ma tintalab b'mod iebes aktar tard. Agħżel familji numeriċi espliċiti. Ivverifika kontra oraklu. Ittestja l-irkejjen. Irrispetta l-vinċoli tad-deploy. Żomm ir-riproduzzjoni f'moħħok qabel ma l-ewwel rapport ta' inċident jagħmel lil kulħadd filosofiku f'daqqa.

Numerus hija utli għax tbiddel l-aritmetika fi kuntratt li l-bqija tal-istack jista' jiddependi fuqu. Binary, ternary, integer, fixed, float, Decimal u AXIOM mhumiex slogans. Huma modi kif jiffurmaw in-numri sabiex l-istess tweġiba tista' tidher darbtejn, apposta. AXIOM għandha l-istorja aktar profonda tagħha għax hija l-parti fejn il-punt innifsu jibda jiċċaqlaq filwaqt li l-kuntratt jibqa' deterministiku. Dak mhux flashy. Huwa aħjar minn flashy. Huwa t-tip ta' boring li jħalli lil sistemi serji jorqdu bil-lejl.