SciPy 1.0: fundamental algorithms for scientific computing in Python

. 2020 Mar ; 17 (3) : 261-272. [epub] 20200203

Jazyk angličtina Země Spojené státy americké Médium print-electronic

Typ dokumentu historické články, časopisecké články, přehledy

Perzistentní odkaz   https://www.medvik.cz/link/pmid32015543

Grantová podpora
P 27703 Austrian Science Fund FWF - Austria

Odkazy

PubMed 32015543
PubMed Central PMC7056644
DOI 10.1038/s41592-019-0686-2
PII: 10.1038/s41592-019-0686-2
Knihovny.cz E-zdroje

SciPy is an open-source scientific computing library for the Python programming language. Since its initial release in 2001, SciPy has become a de facto standard for leveraging scientific algorithms in Python, with over 600 unique code contributors, thousands of dependent packages, over 100,000 dependent repositories and millions of downloads per year. In this work, we provide an overview of the capabilities and development practices of SciPy 1.0 and highlight some recent technical developments.

Anaconda Inc Austin TX USA

Anton Pannekoek Institute Amsterdam The Netherlands

Australian Nuclear Science and Technology Organisation Lucas Heights NSW Australia

Berkeley Center for Cosmological Physics University of California Berkeley Berkeley CA USA

Berkeley Institute for Data Science University of California Berkeley Berkeley CA USA

BioResource and Agricultural Engineering Department California Polytechnic State University San Luis Obispo CA USA

Bruker Biospin Corp Billerica MA USA

College of Information and Computing Sciences University of Massachusetts Amherst Amherst MA USA

Department of Mathematics Brigham Young University Provo UT USA

Department of Mathematics University of California Los Angeles Los Angeles CA USA

Department of Mechanics and Applied Mathematics Institute of Cybernetics at Tallinn Technical University Tallinn Estonia

Division of Biostatistics University of California Berkeley Berkeley CA USA

Electrical Engineering Brigham Young University Provo UT USA

Enthought Inc Austin TX USA

Google LLC Cambridge MA USA

Google LLC Montreal Quebec Canada

Graduate Program in Electrical Engineering Universidade Federal de Minas Gerais Belo Horizonte Brazil

Independent researcher Amsterdam the Netherlands

Independent researcher Belmont Massachusetts USA

Independent researcher Logan Utah USA

Independent researcher Montreal Quebec Canada

Independent researcher New York NY USA

Independent researcher San Francisco CA USA

Independent researcher Saue Estonia

Independent researcher Tokyo Japan

Independent researcher Toulouse France

Institute for Learning and Brain Sciences University of Washington Seattle WA USA

Los Alamos National Laboratory Los Alamos NM USA

National Research University Higher School of Economics Moscow Russia

New Technologies Research Centre University of West Bohemia Plzeň Czech Republic

Oden Institute for Computational Engineering and Sciences The University of Texas at Austin Austin TX USA

Quansight LLC Austin TX USA

School of Psychology University of Birmingham Edgbaston Birmingham UK

Space Dynamics Laboratory North Logan UT USA

Ultrasound Imaging Mayo Clinic Rochester MN USA

University of Jyväskylä Jyväskylä Finland

University of Washington Seattle WA USA

WayRay LLC Skolkovo Innovation Center Moscow Russia

Erratum v

PubMed

Zobrazit více v PubMed

Oliphant, T.E.

van der Walt S, Colbert SC, Varoquaux G. The NumPy array: a structure for efficient numerical computation. Comput. Sci. Eng. 2011;13:22–30.

Pedregosa F, et al. Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 2011;12:2825–2830.

van der Walt S, et al. scikit-image: image processing in Python. Peer J. 2014;2:e453. PubMed PMC

Nitz, A. et al. gwastro/pycbc: PyCBC v1.13.2 release, 10.5281/zenodo.1596771 (27 November 2018).

Vallisneri M, Kanner J, Williams R, Weinstein A, Stephens B. The LIGO Open Science Center. J. Phys. Conf. Ser. 2015;610:012021.

Abbott BP, et al. GW150914: First results from the search for binary black hole coalescence with Advanced LIGO. Phys. Rev. D. 2016;93:122003. PubMed PMC

Abbott BP, et al. GW170817: observation of gravitational waves from a binary neutron star inspiral. Phys. Rev. Lett. 2017;119:161101. PubMed

The Event Horizon Telescope Collaboration. et al. First M87 event horizon telescope results. III. Data processing and calibration. Astrophys. J. Lett. 2019;875:L3.

Blanton, K. At Mathworks, support + fun = success: CEO Jack Little believes in power of his workers–and their ideas.

Howell, D. Jack Dangermond’s digital mapping lays it all out.

Port, O. Simple solutions.

van Rossum, G.

Hugunin, J. The matrix object proposal (very long), https://mail.python.org/pipermail/matrix-sig/1995-August/000002.html (18 August 1995).

Hugunin, J. Extending Python for numerical computation, http://hugunin.net/papers/hugunin95numpy.html (1995).

Oliphant, T. E. Moving forward from the last decade of SciPy. Presentation slides, https://conference.scipy.org/scipy2010/slides/travis_oliphant_keynote.pdf (1 July 2010).

Oliphant, T. E. Some Python modules.

Oliphant, T. E. Modules to enhance Numerical Python.

Peterson P. F2PY: a tool for connecting Fortran and Python programs. Int. J. Comput. Sci. Eng. 2009;4:296–305.

Strangman, G. Python modules.

SciPy Developers. SciPy.org.

Vaught, T. N. SciPy Developer mailing list now online, https://mail.python.org/pipermail/scipy-dev/2001-June/000000.html (2001).

Jones, E. ANN: SciPy 0.10–scientific computing with Python, https://mail.python.org/pipermail/python-list/2001-August/106419.html (2001).

Vaught, T.N. Reference documentation and Tutorial documentation are now available for download as tarballs.

Vaught, T. N. [ANN] SciPy ‘02 - Python for Scientific Computing Workshop, https://mail.python.org/pipermail/numpy-discussion/2002-June/001511.html (2002).

Ascher, D., Dubois, P. F., Hinsen, K., Hugunin, J. & Oliphant, T. E. An open source project: Numerical Python, 10.5281/zenodo.3599566 (2001).

Greenfield, P. How Python slithered Into astronomy. Presentation, https://conference.scipy.org/scipy2011/slides/greenfield_keynote_astronomy.pdf (2011).

Greenfield, P., Miller, J.T., Hsu, J.T. & White, R.L. numarray: a new scientific array package for Python.

NumPy Developers. v1.0, https://github.com/numpy/numpy/releases/tag/v1.0 (25 October 2006).

Millman, K. J. & Pérez, F. Developing open-source scientific practice. in

Brandl, G. & the Sphinx team. Sphinx - Python Documentation Generator, http://www.sphinx-doc.org/en/master/ (2007).

Virtanen, P. et al. pydocweb: a tool for collaboratively documenting Python modules via the web.

Harrington, J. The SciPy documentation project. In

van der Walt, S. The SciPy documentation project (technical overview). In

Harrington, J. & Goldsmith, D. Progress report: NumPy and SciPy documentation in 2009. In

Pérez, F., Langtangen, H. P. & LeVeque, R. Python for scientific computing. In

Dubois PF. Python: batteries included. Comput. Sci. Eng. 2007;9:7–9.

Millman KJ, Aivazis M. Python for scientists and engineers. Comput. Sci. Eng. 2011;13:9–12.

Pérez F, Granger BE, Hunter JD. Python: an ecosystem for scientific computing. Comput. Sci. Eng. 2011;13:13–21.

Behnel S, et al. Cython: the best of both worlds. Comput. Sci. Eng. 2011;13:31–39.

Ramachandran P, Varoquaux G. Mayavi: 3D visualization of scientific data. Comput. Sci. Eng. 2011;13:40–51.

Muller E, et al. Python in neuroscience. Front. Neuroinform. 2015;9:11. PubMed PMC

GitHub. Network dependents - scipy/scipy, https://github.com/scipy/scipy/network/dependents (2019).

Boisvert RF, Howe SE, Kahaner DK. The guide to available mathematical software problem classification system. Commun. Stat. Simul. Comput. 1991;20:811–842.

Seabold, S. & Perktold, J. Statsmodels: econometric and statistical modeling with Python. In

Salvatier J, Wiecki TV, Fonnesbeck C. Probabilistic programming in Python using PyMC3. PeerJ Comput. Sci. 2016;2:e55. PubMed PMC

Foreman-Mackey D, Hogg DW, Lang D, Goodman J. emcee: the MCMC hammer. Publ. Astron. Soc. Pac. 2013;125:306–312.

Meurer A, et al. SymPy: symbolic computing in Python. PeerJ Comput. Sci. 2017;3:e103.

Hagberg, A. A., Schult, D. A. & Swart, P. J. Exploring network structure, dynamics, and function using NetworkX. In

Koelbel, C.H. & Zosel, M.E.

Piessens, R., de Doncker-Kapenga, E., Uberhuber, C.W. & Kahaner, D.K.

Hindmarsh, A.C. ODEPACK, a systematized collection of ODE solvers.

Dierckx, P.

Boggs, P.T., Byrd, R.H., Rogers, J.E. & Schnabel, R.B.

Moré. Jorge J., Garbow, B. S. & Hillstrom, K. E. User guide for MINPACK-1. Report ANL-80–74 (Argonne National Laboratory, 1980).

Swarztrauber, P. N. Vectorizing the FFTs. In

Swarztrauber PN. FFT algorithms for vector computers. Parallel Comput. 1984;1:45–63.

Lehoucq, R.B., Sorensen, D.C. & Yang, C. ARPACK users’ guide: solution of large scale eigenvalue problems with implicitly restarted Arnoldi methods. (Rice University, 1997).

Amos DE. Algorithm 644: A portable package for Bessel functions of a complex argument and nonnegative order. ACM Trans. Math. Softw. 1986;12:265–273.

Brown, B., Lovato, J. & Russell, K. CDFLIB, https://people.sc.fsu.edu/~jburkardt/f_src/cdflib/cdflib.html (accessed 6 July 2018).

Kernighan, B. W. & Ritchie, D. M.

Lenders F, Kirches C, Potschka A. trlib: a vector-free implementation of the GLTR method for iterative solution of the trust region problem. Optim. Methods Softw. 2018;33:420–449.

Li, X.S. et al. SuperLU Users’ Guide. Report LBNL-44289 (Lawrence Berkeley National Laboratory, 1999).

Li XS. An overview of SuperLU: algorithms, implementation, and user interface. ACM Trans. Math. Softw. 2005;31:302–325.

Barber CB, Dobkin DP, Huhdanpaa H. The Quickhull algorithm for convex hulls. ACM Trans. Math. Softw. 1996;22:469–483.

Lam, S. K., Pitrou, A. & Seibert, S. Numba: A LLVM-based Python JIT compiler. In

Bolz, C. F., Cuni, A., Fijalkowski, M. & Rigo, A. Tracing the meta-level: PyPy’s tracing JIT compiler. In

VanderPlas, J. Benchmarking nearest neighbor searches in Python, https://jakevdp.github.io/blog/2013/04/29/benchmarking-nearest-neighbor-searches-in-python/ (19 April 2013).

Maneewongvatana, S. & Mount, D. M. Analysis of approximate nearest neighbor searching with clustered point sets. Preprint at https://arxiv.org/pdf/cs/9901013.pdf (1999).

Molden, S. ENH: Enhancements to spatial.cKDTree, https://github.com/scipy/scipy/pull/4374/ (7 January 2015).

Aspnas, M., Signell, A. & Westerholm, J. Efficient assembly of sparse matrices using hashing. In

Cormen, T. H., Stein, C., Rivest, R. L. & Leiserson, C. E.

Moore A. W. et al. Fast algorithms and efficient statistics: N-point correlation functions. In

Feng, Y. ENH: Faster count_neighour in cKDTree / + weighted input data https://github.com/scipy/scipy/pull/5647 (2015).

Martin AM, Giovanelli R, Haynes MP, Guzzo L. The clustering characteristics of HI-selected galaxies from the 40% ALFALFA survey. Astrophys. J. 2012;750:38.

Anderson, E. et al.

Henriksen, I. Circumventing the linker: using SciPy’s BLAS and LAPACK within Cython. In

Andersen, E. D. & Andersen, K. D. (2000) The Mosek interior point optimizer for linear programming: an implementation of the homogeneous algorithm. In

The NETLIB LP test problem set, http://www.numerical.rl.ac.uk/cute/netlib.html (2019).

Andersen ED, Andersen KD. Presolving in linear programming. Math. Program. 1995;71:221–245.

Wormington M, Panaccione C, Matney Kevin M, Bowen DK. Characterization of structures from X-ray scattering data using genetic algorithms. Philos. Trans. R. Soc. Lond. A. 1999;357:2827–2848.

Storn R, Price K. Differential evolution — a simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim. 1997;11:341–359.

Griffiths TL, Steyvers M. Finding scientific topics. Proc. Natl Acad. Sci. USA. 2004;101(Suppl. 1):5228–5235. PubMed PMC

Dierckx, P.

Virtanen, P. ENH: interpolate: rewrite ppform evaluation in Cython, https://github.com/scipy/scipy/pull/2885 (2013).

Burovski, E. add b-splines, https://github.com/scipy/scipy/pull/3174 (27 December 2013).

de Boor, C.

Mayorov, N. ENH: CubicSpline interpolator, https://github.com/scipy/scipy/pull/5653 (2 January 2016).

Fritsch FN, Carlson RE. Monotone piecewise cubic interpolation. SIAM J. Numer. Anal. 1980;17:238–246.

Akima H. A new method of interpolation and smooth curve fitting based on local procedures. J. Assoc. Comput. Mach. 1970;17:589–602.

Beck, K.

Silver A. Collaborative software development made easy. Nature. 2017;550:143–144. PubMed

Eghbal, N.

The Astropy Collaboration. et al. The Astropy Project: building an open-science project and status of the v2.0 core package. Astron. J. 2018;156:123.

Lev, O., Dufresne, J., Kasim, R., Skinn, B. & Wilk, J. pypinfo: view PyPI download statistics with ease, https://github.com/ofek/pypinfo (2018).

Abbott BP, et al. Observation of gravitational waves from a binary black hole merger. Phys. Rev. Lett. 2016;116:061102. PubMed

David Liu. The Intel distribution for Python, https://software.intel.com/en-us/articles/intel-optimized-packages-for-the-intel-distribution-for-python (25 August 2017, updated 30 October 2017, accessed 25 July 2018).

Nelder JA, Mead R. A simplex method for function minimization. Comput. J. 1965;7:308–313.

Wright, M. H. Direct search methods: once scorned, now respectable.

Powell MJD. An efficient method for finding the minimum of a function of several variables without calculating derivatives. Comput. J. 1964;7:155–162.

Powell, M. J. D. A direct search optimization method that models the objective and constraint functions by linear interpolation. In

Powell MJD. Direct search algorithms for optimization calculations. Acta Numerica. 1998;7:287–336.

Powell MJD. A view of algorithms for optimization without derivatives. Math. Today Bull. Inst. Math. Appl. 2007;43:170–174.

Polak E, Ribiere G. Note sur la convergence de methodes de directions conjuguees. Rev. française d’informatique et. de. Rech. op.érationnelle. 1969;3:35–43.

Nocedal, J. & Wright, S.

Byrd RH, Lu P, Nocedal J, Zhu C. A limited memory algorithm for bound constrained optimization. SIAM J. Sci. Comput. 1995;16:1190–1208.

Zhu C, Byrd RH, Lu P, Nocedal J. Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization. ACM Trans. Math. Softw. 1997;23:550–560.

Schittkowski K. On the convergence of a sequential quadratic programming method with an augmented Lagrangian line search function. Mathematische Operationsforschung und Statistik. Ser. Optim. 1983;14:197–216.

Schittkowski K. The nonlinear programming method of Wilson, Han, and Powell with an augmented Lagrangian type line search function. Part 2: an efficient implementation with linear least squares subproblems. Numer. Math. 1982;38:115–127.

Schittkowski K. The nonlinear programming method of Wilson, Han, and Powell with an augmented Lagrangian type line search function. Part 1: convergence analysis. Numer. Math. 1982;38:83–114.

Kraft, D. A software package for sequential quadratic programming. Report DFVLR-FR 88–28 (Deutsche Forschungs- und Versuchsanstalt für Luft- und Raumfahrt, 1988).

Nash SG. Newton-type minimization via the Lanczos method. SIAM J. Numer. Anal. 1984;21:770–788.

Powell, M. J. D. A new algorithm for unconstrained optimization.

Steihaug T. The conjugate gradient method and trust regions in large scale optimization. SIAM J. Numer. Anal. 1983;20:626–637.

Conn, A.R., Gould, N.I.M. & Toint, P.L.

Moré JJ, Sorensen DC. Computing a trust region step. SIAM J. Sci.Statist. Comput. 1983;4:553–572.

Gould NIM, Lucidi S, Roma M, Toint PL. Solving the trust-region subproblem using the Lanczos method. SIAM J. Optim. 1999;9:504–525.

Abbasi, H. Sparse: a more modern sparse array library. In

Mohr PJ, Newell DB, Taylor BN. CODATA recommended values of the fundamental physical constants: 2014. J. Phys. Chem. Ref. Data. 2016;45:043102. PubMed PMC

Boisvert, R. F., Pozo, R., Remington, K., Barrett, R. F. & Dongarra, J. J. Matrix Market: a web resource for test matrix collections. In

Rew R, Davis G. NetCDF: an interface for scientific data access. IEEE Comput. Graph. Appl. 1990;10:76–82.

Duff, I.S., Grimes, R.G. & Lewis, J.G. Users’ guide for the Harwell-Boeing sparse matrix collection (release I), http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.8922 (1992).

Nejnovějších 20 citací...

Zobrazit více v
Medvik | PubMed

Investigation of Endogenous Renal CEST Contrast and the Influence of Respiratory Motion on a Clinical 3 Tesla MRI: An In Vivo and In Vitro Study

. 2026 Apr ; 95 (4) : 2194-2206. [epub] 20251203

Monitoring morphometric drift in lifelong learning segmentation of the spinal cord

. 2026 ; 4 () : . [epub] 20260122

The Tonoplast Topology Index-a new metric for describing vacuole organization

. 2026 Jan 21 ; 22 (1) : 5. [epub] 20260121

Does PARP1 up-regulation correlate with PSMA expression in patients with metastatic castration-resistant prostate cancer studied with [18F]PARPi and [68Ga]PSMA PET/CT?

. 2026 Jan ; 53 (2) : 812-823. [epub] 20250719

From Values to Action: An Integrative Explanatory Framework for Insect Conservation Intentions and Behavior

. 2025 Dec 15 ; 16 (12) : . [epub] 20251215

A curated global dataset of social contact between diverse language communities

. 2025 Dec 11 ; 12 (1) : 1958. [epub] 20251211

Membrane transport of root-borne trans-zeatin riboside maintains the cytokinin homeostasis in shoots

. 2025 Dec 04 ; 76 (22) : 6723-6740.

Generalist vs. specialist strategy shapes microbiomes in blood feeding parasite Polyplax serrata

. 2025 ; 16 () : 1720127. [epub] 20251121

MethylomeMiner: A novel tool for high-resolution analysis of bacterial methylation patterns from nanopore sequencing

. 2025 ; 27 () : 4753-4759. [epub] 20251024

The fate and function of the Arabidopsis Class I formin AtFH1 during central vacuole biogenesis in the rhizodermis

. 2025 ; 16 () : 1685260. [epub] 20251021

Observation of super-Alfvénic slippage of reconnecting magnetic field lines on the Sun

. 2025 ; 9 (1) : 45-54. [epub] 20241018

A New Method for Testing Thermodynamic Consistency of Vapor-Liquid Equilibrium Data

. 2025 Oct 14 ; 10 (40) : 46809-46821. [epub] 20251002

Determination of ADP/ATP translocase isoform ratios in malignancy and cellular senescence

. 2025 Sep ; 19 (9) : 2619-2647. [epub] 20250427

American Spinal Injury Association Impairment Scale Grade E Conversion After Spinal Cord Injury: Incidence, Conversion Characteristics, and Impact of Age on Functional Independence

. 2025 Summer ; 31 (3) : 48-60. [epub] 20250822

Investigation of mobile genetic elements and their association with antibiotic resistance genes in clinical pathogens worldwide

. 2025 ; 20 (8) : e0330304. [epub] 20250818

Comparison of Independent Analyses of Identical Image Sets Reveals Significant Analyst-to-Analyst Variability

. 2025 Jul 31 ; 36 (2) : . [epub] 20250512

A protein-specific priority code in presequences determines the efficiency of mitochondrial protein import

. 2025 Jul ; 23 (7) : e3003298. [epub] 20250721

Off-pore Nup98 condensates mobilize heterochromatic breaks and exclude Rad51

. 2025 Jun 19 ; 85 (12) : 2355-2373.e11. [epub] 20250605

GABA, glutamate dynamics and BOLD observed during cognitive processing in psychosis patients with hallucinatory traits

. 2025 Jun 03 ; 15 (1) : 19466. [epub] 20250603

Separation and Detection of Charged Unilamellar Vesicles in Vacuum by a Frequency-Controlled Quadrupole Mass Sensor

. 2025 May 06 ; 97 (17) : 9131-9138. [epub] 20250422

Najít záznam

Citační ukazatele

Pouze přihlášení uživatelé

Možnosti archivace

Nahrávání dat ...