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