S-a lansat GNU Octave 11.1.0, un sistem pentru efectuarea calculelor matematice (prima versiune din seria 11.x, ramura 11.0 a fost utilizată pentru dezvoltare), care oferă un limbaj de interpretare, în mare parte compatibil cu Matlab. GNU Octave poate fi utilizat pentru a rezolva probleme liniare, ecuații neliniare și diferențiale, calcule cu numere complexe și matrice, vizualizarea datelor, realizarea de experimente matematice. Codul este scris în C++ (interfața este pe Qt) și este distribuit sub licența GPLv3.
Printre modificările din noua versiune:
- Managerul de pachete pkg a adăugat o nouă comandă pentru căutare: „pkg search foo bar baz”. Comanda „pkg install” a implementat determinarea automată dacă argumentul transmis este un fișier local, un URL sau un nume de pachet. S-a inclus cache local pentru metadatele pachetelor și verificarea pachetelor descărcate prin hash SHA256.
- Interfața de lucru cu fișiere (File Browse) a fost împărțită în două tab-uri — unul pentru navigarea prin conținutul sistemului de fișiere și al doilea pentru vizualizarea și gestionarea tuturor fișierelor deschise în editor.
- În dialogul de căutare a fișierelor a fost adăugat un listă de căutări anterioare și s-a implementat posibilitatea de a căuta fișiere după mai multe măști.
- În interfața grafică au fost utilizate pictograme vectoriale în format SVG și a fost furnizată din start interfața standard a liniei de comandă Octave.
- Setările au fost extinse cu opțiuni pentru a dezactiva screensaver-ul și pentru a folosi ca implicit directorul curent în care a fost lansat editorul în dialogul de deschidere a fișierelor.
- Operația de imprimare în PDF a fost accelerată cu 25%.
- În vizualizare, suportul pentru amestecarea alfa a fost îmbunătățit pe sistemele cu versiuni noi de OpenGL.
- Suportul pentru obiectele definite prin cuvântul cheie „classdef” a fost îmbunătățit. Atunci când se accesează elementele unui obiect prin punct (obiect.element), se verifică mai întâi existența proprietăților cu numele specificat, iar dacă proprietatea lipsește — numele metodelor, ceea ce corespunde comportamentului MatLab.
- Execuția operațiunilor de convoluție a matricelor, unde numărul de coloane depășește numărul de rânduri (matricele vectoriale), a fost accelerată semnificativ (cuprinsă între 10% și 150 de ori, în funcție de dimensiune și formă).
- A fost adăugată opțiunea de a efectua broadcasting (operații asupra vectorilor de dimensiuni diferite) pentru tipuri speciale de matrice, cum ar fi matrice sparse, diagonale și permutative. Printre altele, a fost implementat suport pentru operații mixte între matrice sparse și complete, precum și între matrice diagonale și vectori obișnuiți.
- Au fost efectuate modificări care îmbunătățesc compatibilitatea cu Matlab. În funcțiile cum ar fi cumprod, cumsum, min, max, cummin, cummax, prod, sum, sumsq, bounds, center, meansq, range, statistics și zscore, a fost adăugat suport pentru parametrii „all”, „vecdim” și „nanflag”.
- Performanța funcțiilor sum, cumsum și sumsq a fost crescută de până la 6 ori. Funcția randi a fost accelerată de 4,5 ori și consumul de memorie a fost redus cu 3,5 ori.
- În funcția sum a fost implementat un mod de operare cu o precizie ridicată a calculului. Precizia calculului a fost îmbunătățită în funcțiile norm și fzero.
- Funcția roots și funcțiile statistice au fost dotate cu suport pentru datele de intrare de tip double și single.
- Au fost adăugate funcții noi: _Exit, assert_equal, corrcov, dither, funm, mape, rms, rmse, trexc, xline și yline.

Sursa: opennet.ro
