Quem é Octave?

Eu passo o dia inteiro conectando pessoas, ideias, oportunidades. É quase inevitável. É mais forte do que eu. Como não haveria de ser diferente, hoje almocei com uma parte da equipe de big data da empresa e enquanto esperávamos a comida, um dos profissionais disse que está fazendo o curso de machine learning do  no Coursera.

Ele comentou que em um dos capítulos, o Andrew ensina a implementar algoritmos de machine learning usando o Octave. Na hora veio na minha cabeça quando comecei a estudar ciência de dados em 2015 e conheci o Octave.

 O Octave fez eu relembrar dos tempos em que eu usava Matlab na universidade. Os programas, inclusive, são bem compatíveis e possuem recursos em comum, como por exemplo:

  • As matrizes como tipo de dados fundamental (é bom você saber álgebra linear).
  • Suporte interno para trabalhar com números complexos.
  • Funções matemáticas poderosas e integradas, com uma extensa biblioteca.
  • Extensão das funções definidas pelo usuário.

Eu sei que o Matlab tem muita gente que conhece, principalmente profissionais das áreas de exatas, com foco especial para matemática e estatística. Mas o Octave? Você já ouviu falar?

Quem é Octave?

O Octave é um software livre licenciado sob a GNU General Public License. O software usa uma linguagem de alto nível, destinada principalmente a cálculos numéricos. Fornece uma interface de linha de comando conveniente para resolver problemas lineares e não lineares numericamente, e para realizar outras experiências numéricas usando uma linguagem que é principalmente compatível com o Matlab.

O Octave possui ferramentas abrangentes para resolver problemas comuns de álgebra linear, encontrar as raízes de equações não lineares, integrar funções comuns e manipular polinômios (lembranças da 5ª série … ou seria a 7ª? Realmente eu não lembro!). Além disso, ele integra equações diferenciais.

É facilmente extensível e personalizável por meio de funções definidas pelo usuário, escritas no próprio idioma da Octave ou usando módulos carregados dinamicamente, escritos em C ++, C, Fortran ou outros idiomas.

O Octave permite que você resolva problemas de forma mais realista, criando suas próprias funções e entendendo cada parte do código. Atualmente milhares de pessoas no mundo usam o octave em aplicações de ensino e pesquisas.

E aí? Você já conhecia o Octave?

Saiba que tanto o Octave quanto o Matlab pedem um bom conhecimento em álgebra linear. Caso você se interesse pelo tema e pelo software, eu recomendo o livro do Callioli.