È stato rilasciato il sistema per l'esecuzione di calcoli matematici GNU Octave 11.1.0 (prima versione della serie 11.x, il ramo 11.0 è stato utilizzato per lo sviluppo), che fornisce un linguaggio interpretato in gran parte compatibile con Matlab. GNU Octave può essere utilizzato per risolvere problemi lineari, equazioni non lineari e differenziali, calcoli con numeri complessi e matrici, visualizzazione dei dati, svolgimento di esperimenti matematici. Il codice è scritto in C++ (interfaccia su Qt) e distribuito con licenza GPLv3.
Tra le novità del nuovo rilascio:
- Nel gestore di pacchetti pkg è stata aggiunta una nuova funzione di ricerca «pkg search foo bar baz». Nella funzione «pkg install» è stata implementata l'identificazione automatica se l'argomento fornito è un file locale, un URL o un nome di pacchetto. È stato incluso il caching locale dei metadati dei pacchetti e la verifica dei pacchetti scaricati tramite hash SHA256.
- L'interfaccia per la gestione dei file (File Browse) è divisa in due schede: una per navigare nel contenuto del file system e l'altra per visualizzare e gestire tutti i file aperti nell'editor.
- Nella finestra di dialogo di ricerca file è stata aggiunta un'elenco delle ricerche effettuate in precedenza e implementata la possibilità di cercare file tramite più maschere.
- Nell'interfaccia grafica sono state utilizzate icone vettoriali in formato SVG e fornita per impostazione predefinita l'interfaccia della riga di comando di Octave.
- Nelle impostazioni sono state aggiunte opzioni per disattivare lo screensaver e per utilizzare come predefinito il catalogo corrente in cui è stato avviato l'editor nella finestra di dialogo di apertura file.
- L'operazione di stampa in file PDF è stata accelerata del 25%.
- Nella visualizzazione è stato migliorato il supporto per l'alpha blending sui sistemi con le nuove versioni di OpenGL.
- È stato migliorato il supporto per gli oggetti definiti mediante la parola chiave «classdef». Quando si accede agli elementi di un oggetto tramite punto (oggetto.elemento), ora viene prima verificata l'esistenza di proprietà con il nome specificato e, se la proprietà non è presente, dei nomi dei metodi, che corrisponde al comportamento di MatLab.
- Le operazioni di convoluzione su array con un numero di colonne superiore al numero di righe (array di vettori) sono state significativamente accelerate (dal 10% fino a 150 volte a seconda delle dimensioni e della forma).
- È stata aggiunta la possibilità di eseguire la trasmissione (broadcasting, operazioni su array di diverse dimensioni) per tipi speciali di matrici, come matrici sparse, diagonali e di permutazione. Tra l'altro, è stato implementato il supporto per operazioni miste tra matrici sparse e complete, così come tra matrici diagonali e vettori comuni.
- Sono state apportate modifiche che migliorano la compatibilità con Matlab. Nelle funzioni cumprod, cumsum, min, max, cummin, cummax, prod, sum, sumsq, bounds, center, meansq, range, statistics e zscore è stato aggiunto il supporto per i parametri "all", "vecdim" e "nanflag".
- La performance delle funzioni sum, cumsum e sumsq è aumentata fino a 6 volte. Il funzionamento è stato accelerato fino a 4,5 volte e il consumo di memoria ridotto fino a 3,5 volte nella funzione randi.
- Nella funzione sum è stata implementata una modalità di lavoro con precisione aumentata nei calcoli. La precisione dei calcoli è stata migliorata nelle funzioni norm e fzero.
- Nella funzione roots e nelle funzioni statistiche è stato aggiunto il supporto per input di tipo double e single.
- Sono state aggiunte nuove funzioni: _Exit, assert_equal, corrcov, dither, funm, mape, rms, rmse, trexc, xline e yline.

Fonte: opennet.ru
