Jupyter Notebook: система інтерактивних наукових обчислень
DOI:
https://doi.org/10.24028/gzh.0203-3100.v41i2.2019.164458Ключові слова:
програмне забезпечення з відкритим вихідним кодом, мови програмування, лінійна алгебра, матриця, тестові розрахункиАнотація
upyter Notebook ― веб-додаток, що дає змогу писати і постачати коментарями код на мові Python в інтерактивному режимі, а також спосіб експериментувати, досліджувати і ділитися своїми результатами з іншими. Все частіше багато дослідників використовує у своїх роботах зазначене обчислювальне середовище. У короткій формі висвітлено основні причини зростаючої популярності мови програмування Python і проекту Jupyter. Головні серед них: висока швидкість розробки і якість програмного забезпечення; стандартна бібліотека, а також бібліотеки з відкритим вихідним кодом NumPy, SciPy, Matplotlib та ін.; простота інтеграції з кодом на C, C++ і FORTRAN; вільне поширення; підтримка і величезне співтовариство розробників і користувачів. За даними компанії TIOBE, яка щомісяця збирає статистику пошукових запитів і на підставі отриманих даних складає власні візуалізовані рейтинги мов програмування, Python займає 3-те місце за популярністю серед мов програмування. Мову Python було обрано мовою року в 2007, 2010 і 2018 рр. Розглянуто аспекти установки програм, бібліотек і пакетів в операційній системі Windows. Рекомендується завантажувати та встановлювати бібліотеки зі сховища whl-файлів на веб-сторінці Крістофа Голка з лабораторії динаміки флуоресценції Каліфорнійського університету. Формат WHL підтримується всіма основними платформами (Mac OS X, Linux, Windows). Детально описано процес запуску сервера блокнотів Jupyter з командного рядка. Продемонстровано простоту та ефективність наукових обчислень в Jupyter Notebook. Наведено тестові розрахунки розв’язання задач лінійної алгебри. Показано, що код обчислення матриці розміром 5000×5000 займає всього кілька рядків.Посилання
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.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2020 Геофізичний журнал
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
1. Автори зберігають за собою авторські права на роботу і передають журналу право першої публікації разом з роботою, одночасно ліцензуючи її на умовах Creative Commons Attribution License, яка дозволяє іншим поширювати дану роботу з обов'язковим зазначенням авторства даної роботи і посиланням на оригінальну публікацію в цьому журналі .
2. Автори зберігають право укладати окремі, додаткові контрактні угоди на не ексклюзивне поширення версії роботи, опублікованої цим журналом (наприклад, розмістити її в університетському сховищі або опублікувати її в книзі), з посиланням на оригінальну публікацію в цьому журналі.
3. Авторам дозволяється розміщувати їх роботу в мережі Інтернет (наприклад, в університетському сховище або на їх персональному веб-сайті) до і під час процесу розгляду її даними журналом, так як це може привести до продуктивної обговоренню, а також до більшої кількості посилань на дану опубліковану роботу (Дивись The Effect of Open Access).