SciPy (pronunciado / ˈ s aɪ p aɪ / "sigh pie" [ 3 ] ) es una biblioteca de Python gratuita y de código abierto que se utiliza para la computación científica y la computación técnica. [ 4 ]
SciPy contiene módulos para optimización , álgebra lineal , integración , interpolación , funciones especiales , transformada rápida de Fourier , procesamiento de señales e imágenes , solucionadores de ecuaciones diferenciales ordinarias y otras tareas comunes en ciencia e ingeniería.
SciPy también es una familia de conferencias para usuarios y desarrolladores de estas herramientas: SciPy (en Estados Unidos), EuroSciPy (en Europa) y SciPy.in (en India). [ 5 ] Enthought fue la creadora de 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 promueve la ciencia reproducible y accesible.
Componentes
El paquete SciPy es fundamental para las capacidades de computación científica de Python. Los subpaquetes disponibles incluyen: [ 6 ]
- Agrupamiento : agrupamiento jerárquico , cuantización vectorial , K-medias
- constantes : constantes físicas y factores de conversión
- conjuntos de datos : varios conjuntos de datos de ejemplo para demostrar el procesamiento de imágenes y datos.
- diferenciar : diferenciación numérica para primeras y segundas derivadas
- fft : Algoritmos de transformada discreta de Fourier
- fftpack : Interfaz heredada para transformadas discretas de Fourier
- Integrar : rutinas de integración numérica
- interpolate : herramientas de interpolación
- io : entrada y salida de datos, incluyendo compatibilidad con archivos MATLAB y Matrix Market.
- linalg : rutinas de álgebra lineal
- ndimage : diversas funciones para el procesamiento de imágenes multidimensionales
- odr : clases y algoritmos de regresión de distancia ortogonal
- Optimizar : algoritmos de optimización que incluyen programación lineal y una variedad de optimizadores de programación no lineal numérica.
- señal : herramientas de procesamiento de señales
- disperso : matrices dispersas y algoritmos relacionados
- espacial : algoritmos para estructuras espaciales como árboles kd , vecinos más cercanos, envolventes convexas , etc.
- especial : funciones especiales
- estadísticas : funciones estadísticas

Estructuras de datos
La estructura de datos básica utilizada por SciPy es una matriz multidimensional proporcionada por el módulo NumPy . NumPy ofrece 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 puede utilizarse como un contenedor multidimensional eficiente de datos con tipos de datos arbitrarios . Esto permite que NumPy se integre de forma rápida y sin problemas con una amplia variedad de bases de datos . Las versiones anteriores de SciPy utilizaban Numeric como tipo de matriz, que ahora está obsoleto en favor del código de matriz más reciente de NumPy. [ 7 ]
Historia
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 reemplazado posteriormente por NumPy , escrito por Travis Oliphant en 2006 como una combinación de Numeric y Numarray, cuyo desarrollo se inició en 2001). Hacia el año 2000, existía un número creciente de módulos de extensión y un interés cada vez mayor 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 crearon el paquete resultante, SciPy. Este nuevo paquete proporcionaba 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 , una consola interactiva mejorada ampliamente utilizada 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 la computación técnica . [ 8 ] [ 9 ] [ 10 ]
Scientific Python frente a ScientificPython
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".
Además, expandir "SciPy" como "Scientific Python" puede causar confusión con "ScientificPython", un proyecto liderado por Konrad Hinsen de la Universidad de Orléans que estuvo activo entre 1995 [ 11 ] y 2014. [ 12 ]
"Python científico" también se utiliza para el ecosistema de herramientas relacionado. [ 13 ] [ 14 ]
Véase también
Notas
- ↑ "Versión 1.18.0" . 19 de junio de 2026. Consultado el 20 de junio de 2026 .
- ↑ Equipo de SciPy. "¿Cómo puede ser rápido SciPy si está escrito en un lenguaje interpretado como Python?" . Consultado el 11 de abril de 2022 .
- ↑ https://scipy.org/ "SciPy (pronunciado "Sigh Pie")"
- ↑ Pauli Virtanen; Ralf Gommers; Travis E. Oliphant ; et al. (23 de julio de 2019). "SciPy 1.0: algoritmos fundamentales para la computación científica en Python" (PDF) . Métodos de la naturaleza . 17 (3): 261–272 . arXiv : 1907.10121 . doi : 10.1038/S41592-019-0686-2 . ISSN 1548-7091 . PMC 7056644 . PMID 32015543 . Wikidata Q84573952 . (errata)
- ↑ "Próximas conferencias SciPy 2023" . Conferencias SciPy . Consultado el 11 de mayo de 2023 .
- ↑ "Definición de API" . SciPy.org .
- ↑ "Página principal de NumPy" .
- ↑ "Historia de SciPy" .
- ↑ "Guía de NumPy" (PDF) .
- ↑ "Python para científicos e ingenieros" .
- ↑ "ScientificPython" . Consultado el 21 de febrero de 2019 .
- ↑ "SourceSup: ScientificPython: Project Home" . sourcesup.renater.fr . Consultado el 21 de febrero de 2019 .
- ↑ "Actas de SciPy" . proceedings.scipy.org . Consultado el 22 de agosto de 2024.
Presentan sus últimos proyectos científicos de Python
. - ↑ "SciPy 2024" . cfp.scipy.org . Consultado el 22 de agosto de 2024.
La comunidad científica de Python mantiene un amplio ecosistema de herramientas y bibliotecas que permiten la investigación y el desarrollo científicos
.
Lecturas adicionales
- Núñez-Iglesias, Juan; van der Walt, Stefan; Dashnow, Harriet (2017). Elegant SciPy: El arte de la Python científica . O'Reilly. ISBN 978-1-4919-2287-3.
Enlaces externos
- Python (lenguaje de programación)
- Herramientas de programación
- marcos de trabajo web
- Software libre programado en Python
- Software multiplataforma
- Software científico gratuito
- Software de análisis numérico para Linux
- Software de análisis numérico para macOS
- Software de análisis numérico para Windows
- Lenguajes de programación numérica
- Bibliotecas científicas de Python (lenguaje de programación)
- Software que utiliza la licencia BSD.