Foi lançado o sistema para realização de cálculos matemáticos GNU Octave 11.1.0 (primeira versão da série 11.x, a ramificação 11.0 foi utilizada para o desenvolvimento), que fornece uma linguagem interpretável, em grande parte compatível com Matlab. O GNU Octave pode ser usado para resolver problemas lineares, equações não lineares e diferenciais, cálculos utilizando números complexos e matrizes, visualização de dados e realização de experimentos matemáticos. O código foi escrito na linguagem C++ (interface em Qt) e é distribuído sob a licença GPLv3.
Entre as mudanças na nova versão:
- O gerenciador de pacotes pkg recebeu um novo comando para pesquisa "pkg search foo bar baz". No comando "pkg install" foi implementada a detecção automática de se o argumento fornecido é um arquivo local, uma URL ou um nome de pacote. Incluído o cache local de metadados de pacotes e verificação de pacotes baixados pelo hash SHA256.
- A interface de trabalho com arquivos (File Browse) foi dividida em duas guias — uma para navegação pelo conteúdo do sistema de arquivos e outra para visualização e gerenciamento de todos os arquivos abertos no editor.
- Na caixa de diálogo de pesquisa de arquivos, foi adicionada uma lista de pesquisas feitas anteriormente e implementada a possibilidade de buscar arquivos por múltiplas máscaras.
- Na interface gráfica, foram utilizadas ícones vetoriais no formato SVG e fornecida, por padrão, a interface de linha de comando do Octave.
- As configurações foram acrescidas de opções para desativar a proteção de tela e usar, na caixa de diálogo de abertura de arquivos, o diretório atual em que o editor está sendo executado.
- A operação de impressão em arquivo PDF foi acelerada em 25%.
- Na visualização, a suporte ao alpha-blending foi melhorada em sistemas com novas versões do OpenGL.
- Apoio a objetos definidos pela palavra-chave "classdef" foi aprimorado. Ao acessar elementos do objeto pelo ponto (objeto.elemento), agora verifica-se, em primeiro lugar, a existência de propriedades com o nome fornecido e, se a propriedade não existir, os nomes dos métodos, o que corresponde ao comportamento do MatLab.
- A execução de operações de convolução em arrays, onde o número de colunas excede o número de linhas (arrays de vetores), foi significativamente acelerada (de 10% a 150 vezes, dependendo do tamanho e da forma).
- Adicionada a possibilidade de execução de transmissão (broadcasting, operações sobre matrizes de diferentes dimensões) para tipos especiais de matrizes, como matrizes esparsas, diagonais e permutacionais. Entre outras coisas, foi implementado o suporte a operações mistas entre matrizes esparsas e completas, bem como matrizes diagonais e vetores comuns.
- Foram feitas alterações que melhoram a compatibilidade com o Matlab. Nas funções cumprod, cumsum, min, max, cummin, cummax, prod, sum, sumsq, bounds, center, meansq, range, statistics e zscore, foi adicionado suporte para os parâmetros "all", "vecdim" e "nanflag".
- A performance das funções sum, cumsum e sumsq foi aumentada em até 6 vezes. A operação da função randi foi acelerada em até 4.5 vezes e o consumo de memória foi reduzido em até 3.5 vezes.
- Na função sum, foi implementado um modo de operação com maior precisão nos cálculos. A precisão dos cálculos nas funções norm e fzero foi aumentada.
- Suporte adicionado para tipos de dados double e single nas funções roots e funções estatísticas.
- Novas funções foram adicionadas: _Exit, assert_equal, corrcov, dither, funm, mape, rms, rmse, trexc, xline e yline.

Fonte: opennet.ru
