SciPy - SciPy
Autor (es) original (is) | Travis Oliphant , Pearu Peterson, Eric Jones |
---|---|
Desenvolvedor (s) | Projeto de biblioteca comunitária |
lançamento inicial | Por volta de 2001 |
Versão estável | |
Repositório | |
Escrito em | Python , Fortran , C , C ++ |
Sistema operacional | Plataforma cruzada |
Modelo | Computação técnica |
Licença | Nova licença BSD |
Local na rede Internet |
scipy |
SciPy (pronunciado / s aɪ p aɪ / "suspirar torta") é uma livre e de código aberto Python biblioteca usada para computação científica e computação técnica.
SciPy contém módulos para otimização , álgebra linear , integração , interpolação , funções especiais , FFT , processamento de sinais e imagens , solucionadores de ODE e outras tarefas comuns na ciência e engenharia.
SciPy também é uma família de conferências para usuários e desenvolvedores dessas ferramentas: SciPy (nos Estados Unidos), EuroSciPy (na Europa) e SciPy.in (na Índia). A Enthought originou a conferência SciPy nos Estados Unidos e continua a patrocinar muitas das conferências internacionais, bem como hospedar o site SciPy.
A biblioteca SciPy é atualmente distribuída sob a licença BSD e seu desenvolvimento é patrocinado e apoiado por uma comunidade aberta de desenvolvedores. Também é apoiado pela NumFOCUS , uma fundação comunitária para apoiar a ciência reproduzível e acessível.
Componentes
O pacote SciPy está no centro dos recursos de computação científica do Python. Os subpacotes disponíveis incluem:
- cluster : agrupamento hierárquico , quantização vetorial , K-médias
- constantes : constantes físicas e fatores de conversão
- fft : Algoritmos de transformada discreta de Fourier
- fftpack : interface legada para transformadas discretas de Fourier
- integrar : rotinas de integração numérica
- interpolar : ferramentas de interpolação
- io : entrada e saída de dados
- linalg : rotinas de álgebra linear
- misc : utilitários diversos (por exemplo, imagens de exemplo)
- ndimage : várias funções para processamento de imagem multidimensional
- ODR: classes e algoritmos de regressão de distância ortogonal
- otimizar : algoritmos de otimização incluindo programação linear
- sinal : ferramentas de processamento de sinal
- esparso : matrizes esparsas e algoritmos relacionados
- espacial : algoritmos para estruturas espaciais, como árvores kd , vizinhos mais próximos, cascos convexos , etc.
- especial : funções especiais
- estatísticas : funções estatísticas
- weave : ferramenta para escrever código C / C ++ como strings de várias linhas do Python (agora obsoleto em favor do Cython )
Estruturas de dados
A estrutura de dados básica usada por SciPy é uma matriz multidimensional fornecida pelo módulo NumPy . NumPy fornece algumas funções para álgebra linear, transformadas de Fourier e geração de números aleatórios , mas não com a generalidade das funções equivalentes em SciPy. O NumPy também pode ser usado como um contêiner multidimensional eficiente de dados com tipos de dados arbitrários . Isso permite que o NumPy se integre rápida e perfeitamente a uma ampla variedade de bancos de dados . Versões mais antigas do SciPy usavam Numeric como um tipo de array, que agora está obsoleto em favor do código de array NumPy mais recente.
História
Na década de 1990, Python foi estendido para incluir um tipo de array para computação numérica chamado Numeric (este pacote foi eventualmente substituído por Travis Oliphant, que escreveu NumPy em 2006 como uma mistura de Numeric e Numarray que havia sido iniciado em 2001). A partir de 2000, havia um número crescente de módulos de extensão e um interesse crescente na criação de um ambiente completo para computação científica e técnica. Em 2001, Travis Oliphant, Eric Jones e Pearu Peterson fundiram o código que escreveram e chamaram o pacote resultante de SciPy. O pacote recém-criado forneceu uma coleção padrão de operações numéricas comuns no topo da estrutura de dados Numeric array. Pouco depois, Fernando Pérez lançou o IPython , um shell interativo aprimorado amplamente usado na comunidade de computação técnica, e John Hunter lançou a primeira versão do Matplotlib , a biblioteca de plotagem 2D para computação técnica. Desde então, o ambiente SciPy continuou a crescer com mais pacotes e ferramentas para computação técnica .
Veja também
- Comparação de software de análise numérica
- Lista de software de análise numérica
- Comparação de pacotes estatísticos
- SageMath
Notas
Leitura adicional
- Nunez-Iglesias, Juan; van der Walt, Stéfan; Dashnow, Harriet (2017). Elegant SciPy: The Art of Scientific Python . O'Reilly. ISBN 978-1-4919-2287-3.