Nu Àr version 2.0.0 av Python-biblioteket NumPy för vetenskapliga berÀkningar tillgÀnglig. Det Àr inriktat pÄ att arbeta med flerdimensionella arrayer och matriser, och tillhandahÄller dessutom en stor samling funktioner för implementering av olika algoritmer relaterade till anvÀndning av matriser. NumPy Àr ett av de mest efterfrÄgade biblioteken som anvÀnds för vetenskapliga berÀkningar. Projektkoden Àr skriven i Python med optimeringar gjorda i C och sprids under BSD-licensen.
NumPy 2.0.0 markerar den första betydande utgÄvan sedan 2006.
I den nya versionen, förutom nya funktioner och prestandaoptimeringar, har det införts Àndringar i ABI, Python API och C-API som bryter bakÄtkompatibiliteten. Till exempel kommer SciPy-biblioteket som byggdes med NumPy 1.x för att arbeta med NumPy 2.0 att krÀva nykompilering. I vissa fall kan det vara nödvÀndigt att göra kodÀndringar för att anvÀnda NumPy 2.0 i applikationer.
Det mest betydande avbrottet Ă€r kopplat till bevarande av precisionen för skalĂ€ra uttryck, till exempel kommer "np.float32(3) + 3" nu att returnera ett vĂ€rde med typen float32 istĂ€llet för float64, och i uttryck med flera typer kommer resultatet att anvĂ€nda den typ med högst precision, dvs. "np.array([3], dtype=np.float32) + np.float64(3)" kommer att returnera ett vĂ€rde med typen float64. Heltalsdatatyperna som anvĂ€nds som standard pĂ„ Windows-plattformen har Ă€ndrats â pĂ„ 64-bitars system anvĂ€nds nu 64-bitars heltal, och pĂ„ 32-bitars system anvĂ€nds 32-bitars (tidigare anvĂ€ndes en motsvarande C-typ lĂ„ng, nu Ă€r det ekvivalent med np.intp).
Vissa definitioner i C-API har ersatts eller tagits bort, till exempel har strukturen PyArray_Descr Àndrats. Det maximala antalet dimensioner och argument som stÀlls in via makron NPY_MAXDIMS och NPY_MAXARGS har ökat till 64. Alla komplexa datatyper har övergÄtt till att anvÀnda standardtyper enligt C99-specifikationen (cfloat_t, cdouble_t, clongdouble_t). Ett nytt C-API för att skapa egna dtype har införts. Nya förenklade initialiseringsfunktioner PyArray_ImportNumPyAPI och PyUFunc_ImportUFuncAPI har föreslagits.
I Python API har en tydligare separation mellan offentliga och privata API:s skapats, och en ny modulstruktur har föreslagits. Omkring 100 funktioner, moduler och konstanter har flyttats ut frÄn huvudnamnrymden "np", deklarerats som förÄldrade eller tagits bort.
Namnrymden np.lib har rensats. Antalet objekt i huvudnamnrymden har minskat med 10%, och i namnrummet numpy.lib med 80%. Flyttad till privatomrÄdet numpy.core. Vissa metoder har tagits bort frÄn klasserna np.ndarray och np.generic. Ett nytt namnrum numpy.stringsf för strÀngoperationer har skapats.
Bland de nya funktionerna kan man notera stöd för typerna float32 och longdouble i alla funktioner i numpy.fft, stöd för det standardiserade API:et Array i huvudnamnrymden, nytt namnrum och typer för variabel-lÀngdstrÀngar. Prestanda har optimerats med hjÀlp av biblioteken Intel x86-simd-sort och Google Highway för strÀngfunktionerna sort, argsort, partition och argpartition, vilket har accelererat operationer med fasta strÀngar i modulen numpy.char. Ett nytt API har lagts till.
opt_func_info för spÄrning och inspektion.
KĂ€lla: opennet.ru
