GNU Octave 11.1: Rendiment extrem, matrius disperses i clon de Matlab

Punts clau:
  • Operacions de convolució i plegat de matrius fins a 150 vegades més ràpides amb selecció de ruta automàtica.
  • Indexació de propietats de classes exacta a Matlab i suport per a arguments de gestió de nuls en funcions estadístiques.
  • Nova funció randi que consumeix 3,5 vegades menys memòria i algorisme de Kahan integrat per a precisió absoluta en normes vectorials.
  • La comanda pkg install detecta automàticament URLs i fitxers locals, sumant validació SHA256.
  • Exportació a PDF un 25% més ràpida, icones SVG nadius i millores en el renderitzat OpenGL de transparències.

GNU-Octave-Logo

Fa pocs dies es va donar a conèixer el llançament de la nova versió de GNU Octave 11.1, versió amb la qual el projecte no només retalla distàncies crítiques amb la seva contrapart comercial, Matlab, sinó quentrodueix optimitzacions que en redefineixen el rendiment en l'anàlisi de dades massives.

Aquesta versió presenta millores que aborden des de l'eficiència de baix nivell en el maneig de memòria fins a la modernització de la interfície gràfica i el gestor de paquets.

Principals novetats de GNU Octave 11.1

Amb el llançament d'Octave 11.1, el programari ha esdevingut una bèstia de càlcul completament renovada. I és que els enginyers han aconseguit avenços massius en el rendiment d'operacions de plegat i convolució de matrius. Per a matrius curtes i amples (especialment vectors fila), els temps dexecució shan accelerat entre 10 i 150 vegades, depenent de la topologia de les dades. El sistema ara és prou intel·ligent per analitzar l'orientació de l'entrada i seleccionar automàticament la ruta de càlcul algorísmica més ràpida sense requerir la transposició manual per part de l'usuari.

La gestió de la memòria i la precisió aritmètica també han estat sotmeses a una reescriptura estricta. La funció de generació de nombres enters pseudoaleatoris ha estat redissenyada des de zero, aconseguint executar 4.5 vegades més ràpid mentre consumeix 3.5 vegades menys memòria RAM. A més, les funcions de suma i acumulació processen les entrades lògiques fins a 6 vegades més ràpid.

Per als càlculs científics que no toleren marges derror, la funció de norma vectorial ara utilitza l'algorisme de suma de Kahan, mitigant dràsticament els errors de coma flotant, mentre que la cerca d'arrels en funcions no lineals assoleix nivells de precisió gairebé perfectes.

Convergència Estructural amb Matlab

La compatibilitat creuada és el sant grial d'Octave, i la versió 11.1.0 elimina enormes barreres de fricció per als desenvolupadors. El sistema d'orientació a objectes s'ha millorat en la indexació de propietats definides amb la paraula clau de classe. Ara, en invocar un element mitjançant la notació de punt, l'intèrpret prioritza la cerca del nom del símbol com a propietat i, només si no existeix, busca un mètode associat, imitant a la perfecció el comportament del motor de Matlab.

D'altra banda, es destaca que desenes de comandes ara admeten de forma nativa arguments de dimensionalitat i tractament de valors nuls que abans eren exclusius del rival comercial. La funció d'ajust polinomial, per exemple, ha estat enriquida per tornar el coeficient de determinació ($R^2$), proporcionant una mètrica estadística immediata sobre l'ajust del model a les dades ingressades. A més, s'ha habilitat la difusió o broadcasting automàtic per a operacions matemàtiques complexes que barregen matrius disperses amb matrius completes, o matrius diagonals amb vectors regulars.

El flux de treball per estendre les capacitats del llenguatge ha estat simplificat i assegurat. El gestor de paquets intern ha abandonat les antigues dependències de banderes manuals. El ordre d'instal·lació ara té un analitzador capaç de determinar automàticament si l'argument proporcionat és una ruta de fitxer local, un URL directe o un nom de paquet del repositori central, procedint a la seva descàrrega i instal·lació.

Per a entorns corporatius i de recerca que requereixen reproductibilitat, la seguretat i la latència han estat optimitzades. Octave 11 implementa l'emmagatzematge a la memòria cau local de les metadades dels paquets, actualitzant-los en segon pla només quan és estrictament necessari. Paral·lelament, qualsevol paquet descarregat de la xarxa és ara verificat criptogràficament mitjançant un hash SHA256 per garantir que el codi no ha estat manipulat durant el trànsit.

Modernització visual i gràfica

L?experiència de l?usuari final abandona la rigidesa del passat. La interfície gràfica d'usuari ha estat polida per suportar pantalles d'alta resolució mitjançant la implementació d'icones vectorials SVG escalables de manera nativa. La gestió de projectes extensos es facilita amb un Explorador d'Arxius dividit intel·ligentment en dues pestanyes separades: una per navegar per l'arbre del sistema operatiu i una altra dedicada exclusivament a administrar els documents actualment oberts a l'editor de codi. El motor de renderitzat gràfic no es queda enrere.

La impressió de figures i gràfiques a format PDF s'ha accelerat en un 25%, eliminant els molestos colls dampolla en exportar reports de recerca. Els usuaris que visualitzin dades complexes en sistemes moderns gaudiran d'una millora significativa a la combinació alfa (transparències) aprofitant les versions més recents d'OpenGL.

I per als puristes de la presentació de dades, les gràfiques polars han estat corregides per evitar que els canvis de perspectiva enfosqueixin l'àrea de traçat, mentre que el motor de text ara respecta rigorosament els espais inicials i finals a les etiquetes dels eixos.

Finalment si esteu interessats en poder conèixer més sobre aquesta nova versió, podeu consultar els detalls en el següent enllaç.

Com instal·lar GNU Octave a Linux?

Per als que estiguin interessats en poder instal·lar aquesta nova versió de GNU Octave, els he d'esmentar que, de moment, la versió continguda als repositoris de les principals distribucions és una mica endarrerida, de manera que les noves versions alliberades triguen a ser actualitzades als repositoris. Però, poden realitzar la instal·lació quan estigui disponible usant alguna de les següents ordres.

Per exemple, per als que són usuaris de Debian, Ubuntu o qualsevol distribució derivada o basada en aquestes, poden realitzar la instal·lació obrint una terminal i teclejant:

suo apt-get install octave

Ara, per al cas dels que són usuaris d'Arch Linux, Manjaro o qualsevol altra distro basada en Arch Linux, la instal·lació la realitzen amb la següent ordre:

suo pacman -S octave

Mentre que per als que són usuaris d'OpenSUSE, poden realitzar la instal·lació amb:

suo Zypper install octave

Quant als que prefereixen l'ús de paquets Flatpak, poden instal·lar Octave al sistema teclejant la següent ordre:

flatpak instala flathub org.octave.Octave

Un altre mètode, és amb ajuda dels paquets de Snap i la instal·lació es realitza teclejant:

sudo snap install octave