Há alguns meses atrás a Visual Numerics anunciou o seu novo projeto, o PyIMSL Math, uma biblioteca de funções para aplicações na matemática e estatística, que empacota o IMSL C. Tal biblioteca pode ser usada em várias áreas, tais como: Ciência da computação, engenharia, aplicações de negócios, etc.
Mas o que é IMSL Numerical Libraries. Trata-se de um amplo conjunto de rotinas que fornecem módulos para construção de uma aplicação de analise de dados. Tais rotinas retiram do programador grande parte do trabalho em programar. As rotinas são extremamente confiáveis, amplamente testadas e otimizadas, o que acelera o trabalho dos desenvolvedores e economiza tempo e dinheiro. Já faz 30 anos que o pessoal da Visual Numerics vem trabalhando no IMSL Numerical Libraries. Existem várias bibliotecas IMSL, em C, C++, C#, Java e mais recentemente em Python. Essas bibliotecas reduzem em mais de 95% o trabalho braçal de codificação e tudo isso atrelado a um grande grau de confiança haja visto os anos de aprimoramento destas bibliotecas.
O que isso tudo significa? Isso significa que pesquisadores agora poderão fazer uso de Python em simulações ou aplicações de analise de dados, imagine agora o que você faria com tudo isso. Utilizar PyIMSL e python na análise e processamento de imagens, em cálculos matemáticos complexos, que levariam certo tempo para que você implementasse, mas agora basta utilizar PyIMSL, simples assim.
Para dar uma idéia do seu uso, e esse é um exemplo bem simples e mediocre, vocês lembram daquela disciplina que envolvia cálculo de sistemas lineares, método de gauss, método do triangulo superior e inferior. Não sei vocês, mas eu lembro, e lembro que meu professor pediu para implementar um método de gauss. Naquela época fiz em C, hoje faria em python. Vamos ver um exemplo.
x1 + 3x2 + 3x3 = 1
x1 + 3x2 + 4x3 = 4
x1 + 4x2 + 3x3 = −1
CODE
from numpy import *
from imsl.math.linSolGen import linSolGen
from imsl.math.writeMatrix import writeMatrix
a = array([[1.0, 3.0, 3.0],
[1.0, 3.0, 4.0],
[1.0, 4.0, 3.0]])
b = [1.0, 4.0, -1.0]
#Resolve A*x = b for x
x = linSolGen(a, b)
writeMatrix ("Solução, x, of Ax = b",x)
Saída:
Solução, x, of Ax = b
1 2 3
-2 -2 3
Viu?! Bem interessante não é, quer saber mais? Dá uma olhada nas referências abaixo.
Referências
Documentação PyIMSL
DEonline
IMSL
Visual Numerics