SciPy (pronunciado / ˈ s aɪ p aɪ / "suspiro pie" [2] ) es una biblioteca de Python gratuita y de código abierto utilizada para computación científica y computación técnica. [3]
SciPy contiene módulos para optimización , álgebra lineal , integración , interpolación , funciones especiales , FFT , procesamiento de señales e imágenes , solucionadores de EDO y otras tareas comunes en ciencia e ingeniería.
SciPy es también una familia de conferencias para usuarios y desarrolladores de estas herramientas: SciPy (en Estados Unidos), EuroSciPy (en Europa) y SciPy.in (en India). [4] Enthought originó la conferencia SciPy en Estados Unidos y continúa patrocinando muchas de las conferencias internacionales, además de alojar el sitio web de SciPy.
La biblioteca SciPy se distribuye actualmente bajo la licencia BSD y su desarrollo está patrocinado y respaldado por una comunidad abierta de desarrolladores. También cuenta con el apoyo de NumFOCUS, una fundación comunitaria que apoya la ciencia reproducible y accesible.
El paquete SciPy es el núcleo de las capacidades de computación científica de Python. Los subpaquetes disponibles incluyen:
La estructura de datos básica utilizada por SciPy es una matriz multidimensional proporcionada por el módulo NumPy . NumPy proporciona algunas funciones para álgebra lineal, transformadas de Fourier y generación de números aleatorios , pero no con la generalidad de las funciones equivalentes en SciPy. NumPy también se puede utilizar como un contenedor multidimensional eficiente de datos con tipos de datos arbitrarios . Esto permite que NumPy se integre de manera fluida y rápida con una amplia variedad de bases de datos . Las versiones anteriores de SciPy usaban Numeric como tipo de matriz, que ahora está obsoleto a favor del código de matriz NumPy más nuevo. [6]
En la década de 1990, Python se amplió para incluir un tipo de matriz para computación numérica llamado Numeric. (Este paquete fue finalmente reemplazado por NumPy , que fue escrito por Travis Oliphant en 2006 como una mezcla de Numeric y Numarray, y Numarray se inició en 2001). A partir de 2000, hubo un número creciente de módulos de extensión y un creciente interés en crear un entorno completo para la computación científica y técnica. En 2001, Travis Oliphant, Eric Jones y Pearu Peterson fusionaron el código que habían escrito y llamaron al paquete resultante SciPy. El paquete recién creado proporcionó una colección estándar de operaciones numéricas comunes sobre la estructura de datos de matriz Numeric. Poco después, Fernando Pérez lanzó IPython , un shell interactivo mejorado ampliamente utilizado en la comunidad de computación técnica, y John Hunter lanzó la primera versión de Matplotlib , la biblioteca de gráficos 2D para computación técnica. Desde entonces, el entorno SciPy ha seguido creciendo con más paquetes y herramientas para computación técnica . [7] [8] [9]
En la literatura científica, a veces se hace referencia a SciPy como "Scientific Python (SciPy)". Esto es incorrecto: el nombre oficial del proyecto es simplemente "SciPy". [ cita requerida ]
Además, expandir "SciPy" como "Scientific Python" puede causar confusión con "ScientificPython", un proyecto dirigido por Konrad Hinsen de la Universidad de Orléans que estuvo activo entre 1995 [10] y 2014. [11]
"Scientific Python" también se utiliza para el ecosistema de herramientas relacionado. [12] [13]
{{cite journal}}
: |author35=
tiene nombre genérico ( ayuda ) (fe de erratas)Mantenimiento de CS1: nombres numéricos: lista de autores ( enlace )Presentan sus últimos proyectos de Scientific Python
La comunidad Scientific Python mantiene un gran ecosistema de herramientas y bibliotecas que permiten la investigación y el desarrollo científicos.