Jupyter Notebook: a system for interactive scientific computing

Authors

  • A. I. Yakimchik Subbotin Institute of Geophysics, National Academy of Sciences of Ukraine, Ukraine

DOI:

https://doi.org/10.24028/gzh.0203-3100.v41i2.2019.164458

Keywords:

software with open initial code, languages of programming, linear algebra, matrix, test calculations

Abstract

Jupyter Notebook ― is a web-appendix which allows writing and supplying comments a code to Python in interactive regime. It is an exclusive method to make experiments and studies and intercommunicate with others. Many research people use this calculative medium in their works more often. The main factors of growing popularity of programming language Python and project Jupyter are characterized in brief. The basic of them are: high velocity of development and merit of software; standard library and libraries with open initial code NumPy, SciPy, Matplotlib et al.; simplicity of integration with code to C, C++ and FORTRAN; free distribution; support and numerous assemblage of designers and users. According to the data of TIOBE company, collecting monthly statistics of search inquiries and on the base of data obtained compiles its own visualized rates of programming languages Python ranks the third place in popularity among programming languages. It was chosen as a language of a year in 2007, 2010 and 2018. Aspects of installation of programs, libraries and packets in operational system Windows have been considered. It is recommended to download and install the libraries from the storage of whl-files on the web-page by Christoph Gohlke from the laboratory of fluorescence dynamics of California University. WHL format is supported by all basic platforms (Mac OS X, Linux, Windows). The process of starting the server of Jupyter notebooks from command line has been described in details. The simplicity and effectiveness of scientific calculations in Jupyter Notebook have been demonstrated. Test calculations have been given for solving the problems of linear algebra. It has been shown in particular that the code of calculation of the matrix of 5000Ч5000 size occupies only several lines.

References

Lutz, M. (2011). Learning Python. 4th edition. St. Petersburg: Simvol-Plyus, 1280 p. (in Russian).

Lyubanovic, B. (2016). Simple Python. Modern programming style. St. Petersburg: Piter, 480 p. (in Russian).

Summerfield, M. (2009). Programming in Python 3. A detailed guide. St. Petersburg: Simvol-Plyus, 608 p. (in Russian).

Strakhov, V. N., & Strakhov, A. V. (2002). Computer technologies for finding stable approximate solutions of systems of linear algebraic equations with an approximately given right-hand side. Theory and practice of the geological interpretation of gravitational, magnetic and electric fields: Proc. of the 29th session of the Intern. seminar them. D. G. Uspensky (Ekaterinburg, January 28―February 2, 2002) (pp. 48―62). Part 2. Moscow: Edition of the Institute of Physics of the Earth RAS (in Russian).

Faddeeva, V. N., & Kolotilina, L. Yu. (1982a). Computational methods of linear algebra. A set of matrices for testing. Part 1. Leningrad: Publ. of the Leningrad Branch of the Mathematical Institute of the Academy of Sciences of the USSR, 131 p. (in Russian).

Faddeeva, V. N., & Kolotilina, L. Yu. (1982b). Computational methods of linear algebra. A set of matrices for testing. Part 2. Leningrad: Publ. of the Leningrad Branch of the Mathematical Institute of the Academy of Sciences of the USSR, 111 p. (in Russian).

Faddeeva, V. N., & Kolotilina, L. Yu. (1982c). Computational methods of linear algebra. A set of matrices for testing. Part 3. Leningrad: Publ. of the Leningrad Branch of the Mathematical Institute of the Academy of Sciences of the USSR, 144 p. (in Russian).

Chernaya, O. A., & Yakimchik, A. I. (2005a). On the processes of pre-orthogonalization of some vectors families which appear while plotting characteristic polynomials of matrices and used while solving the systems of linear algebraic equations. 1. Geofizicheskiy zhurnal, 27(3), 503―511 (in Russian).

Chernaya, O. A., & Yakimchik, A. I. (2005b). On the processes of pre-orthogonalization of some vectors families which appear while plotting characteristic polynomials of matrices and used while solving the systems of linear algebraic equations. 1. Geofizicheskiy zhurnal, 27(5), 790―805 (in Russian).

Yakimchik, A. I., & Chernaya, O. A. (2007). On the determination of stable approximate solutions of systems of linear algebraic equations with ill-conditioned matrices. Questions of the theory and practice of the geological interpretation of gravitational, magnetic and electric fields: Proc. of the 34th session of the Intern. seminar them. D. G. Uspensky (Moscow, January 29 ― February 3, 2007). Moscow: Edition of the Institute of Physics of the Earth RAS (in Russian).

Yakimchik, A. I., Chorna, O. A. (2006). On the generalization of one method for solving systems of linear algebraic equations in the case of an asymmetric matrix that occur in problems of geophysics. Dopovidi NAN Ukrainy, (7), 139―143 (in Ukrainian).

Braun, N., Hauth, T., Pulvermacher, C., & Ritter, M. (2017). An Interactive and Comprehensive Working Environment for High-Energy Physics Software with Python and Jupyter Notebooks. Journal of Physics: Conference Series, 898, 072020. doi: 10.1088/1742-6596/898/7/072020.

Caffrey, J. (1963). Another test matrix for de¬ter¬minants and inverses. Communicati¬ons of the ACM, 6(6), 310. https://doi.org/10.1145/366604. 366618.

Chan, C., & Klassen, M. (1975). A performance comparison study between subroutine packages LINSYS, IBMSSP and IMSL for solving systems of linear equations. Journal of Computational and Applied Mathematics, 1(2), 111―113. https://doi.org/10.1016/0771-050X(75)90028-5.

Chudnov, D. (2016). The Intentional DATA SCIENTIST (Part II): JUPYTER ― A New Kind of Notebook. Computers in Libraries, 36(6), 26―28.

Numpy Reference. Release 1.15.4. Written by the NumPy community. (2018). Retrieved from https://docs.scipy.org/doc/numpy-1.15.4/numpy-ref-1.15.4.pdf.

SciPy Reference Guide. Release 1.1.0. Written by the SciPy community. (2018). Retrieved from https://docs.scipy.org/doc/scipy-1.1.0/scipy-ref-1.1.0.pdf.

Tauxe, L., Shaar, R., Jonestrask, L., Swanson-Hysell, N. L., Minnett, R., Koppers, A. A. P., Constable, C. G., Jarboe, N., Gaastra, K., & Fairchild, L. (2016). PmagPy: software package for paleomagnetic data analysis and a bridge to the Magnetics Information Consortium (MagIC) Database. Geochemistry, Geophysics, Geosystems, 17(6), 2450―63. https://doi.org/10.1002/2016GC006307.

Yang-Min, K., Jean-Baptiste, P., & Guillaume, D. (2018). Experimenting with reproducibility: a case study of robustness in bioinformatics. GigaScience, 7(7), 1―8. https://doi.org/10.1093/gigascience/giy077.

Published

2019-04-17

How to Cite

Yakimchik, A. I. (2019). Jupyter Notebook: a system for interactive scientific computing. Geofizicheskiy Zhurnal, 41(2), 112–121. https://doi.org/10.24028/gzh.0203-3100.v41i2.2019.164458

Issue

Section

Articles