АВТОМАТИЧЕСКОЕ ДИФФЕРЕНЦИРОВАНИЕ В PYTHON
Аннотация
В статье рассматриваются вопросы применения современных программных средств автоматического дифференцирования в Python. Кратко приводятся основные характеристики некоторых инструментов и оценивается возможность их использования для решения задач большой размерности на примере проблемы нахождения оптимальной геометрической структуры кластера атомов. Оценивается время нахождения градиента целевой функции.
Литература
2. Community Portal for Automatic Differentiation. http://www.autodiff.org/
3. H. Koepke. Why Python Rocks for Research. Hacker Monthly, Issue 8, January 2011.
https://www.stat.washington.edu/~hoytak/_static/papers/why-python.pdf
4. Filguiera R. et al. dispel4py: a Python framework for data-intensive scientific computing //International Journal of High Performance Computing Applications. – 2016. – С. 1094342016649766.
5. Mortensen M., Langtangen H. P. High performance Python for direct numerical simulations of turbulent flows //Computer Physics Communications. – 2016. – Т. 203. – С. 53-65.
6. Shukla X. U., Parmar D. J. Python–A comprehensive yet free programming language for statisticians //Journal of Statistics and Management Systems. – 2016. – Т. 19. – №. 2. – С. 277-284.
7. Griewank A., Walther A. Evaluating derivatives: principles and techniques of algorithmic differentiation. – Siam, 2008.
8. Griewank A. A mathematical view of automatic differentiation //Acta Numerica. – 2003. – Т. 12. – С. 321-398.
9. Baydin A. G., Pearlmutter B. A. Automatic differentiation of algorithms for machine learning //arXiv preprint
arXiv:1404.7456. – 2014. http://arxiv.org/pdf/1404.7456.pdf
10. Weinstein M. J., Rao A. V. A source transformation via operator overloading method for the automatic differentiation of mathematical functions in MATLAB //ACM Transactions on Mathematical Software (TOMS). – 2016. – Т. 42. – №. 2. – С. 11.
11. Bischof C. H., Bücker H. M. Computing derivatives of computer programs //Modern Methods and Algorithms of Quantum Chemistry: Proceedings, Second Edition, NIC Series. – 2000. – Т. 3. – С. 315-327.
12. S. F. Walter. PyADOL-C: a python module to differentiate complex algorithms written in python.
www.github.com/b45ch1/pyadolc/
13. B. M. Bell and S.F. Walter. Pycppad: Python algorithmic differentiation using cppad. Available:
http://www.seanet.com/~bradbell/pycppad/pycppad.htm
14. Andersson J. A general-purpose software framework for dynamic optimization //Arenberg Doctoral School, KU Leuven. – 2013.
15. B. Stadie, Z. Xie, P. Moritz, J. Schulman, J. Ho. Computational graph toolkit: a library for evaluation and differentiation of functions of multidimensional arrays. https://github.com/joschu/cgt 265
16. F. Bastien, P. Lamblin, R. Pascanu, J. Bergstra, I. J. Goodfellow, A. Bergeron, N. Bouchard, and Y. Bengio. Theano: new features and speed improvements. //Deep Learning and Unsupervised Feature Learning NIPS 2012 Workshop, 2012.
17. J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. Pascanu, G. Desjardins, J. Turian, D. Warde-Farley, and Y. Bengio. Theano: A CPU and GPU math expression compiler. //Proceedings of the Python for Scientific Computing Conference (SciPy), June 2010. Oral Presentation.
18. A.D. Lee AD: python package for first- and second-order automatic differentiation. http://pythonhosted.org/ad
19. Walther A., Griewank A. Getting started with ADOL-C //Combinatorial scientific computing. – 2012. – Т. 20121684.
20. B.M. Bell. Cppad: A package for differentiation of c++ algorithms. http://www.coin-or.org/CppAD
21. Abrahams D., Grosse-Kunstleve R. W. Building hybrid systems with Boost. Python //CC Plus Plus Users Journal. – 2003. – Т. 21. – №. 7. – С. 29-36.
22. Andersson J., Åkesson J., Diehl M. CasADi: A symbolic package for automatic differentiation and optimal control //Recent Advances in Algorithmic Differentiation. – Springer Berlin Heidelberg, 2012. – С. 297-307.
23. Beazley D. M. Automated scientific software scripting with SWIG //Future Generation Computer Systems. – 2003. – Т. 19. – №. 5. – С. 599-609.
24. Посыпкин М. А. Методы и распределенная программная инфраструктура для численного решения задачи поиска молекулярных кластеров с минимальной энергией //Вестник нижегородского университета им. Н.И. Лобачевского. – 2010. – №. 1.
25. Wales D. J., Doye J. P. K. Global optimization by basin-hopping and the lowest energy structures of Lennard-Jones clusters containing up to 110 atoms //The Journal of Physical Chemistry A. – 1997. – Т. 101. – №. 28. – С. 5111-5116.
26. Northby J. A. Structure and binding of Lennard-Jones clusters: 13≤ N≤ 147 //The Journal of chemical physics. – 1987. – Т. 87. – №. 10. – С. 6166-6177.
27. Shao X., Jiang H., Cai W. Parallel random tunneling algorithm for structural optimization of Lennard-Jones clusters up to n=330 //Journal of chemical information and computer sciences. – 2004. – Т. 44. – №. 1. – С. 193-199.
28. Xiang Y. et al. Structural distribution of Lennard-Jones clusters containing 562 to 1000 atoms //The Journal of Physical Chemistry A. – 2004. – Т. 108. – №. 44. – С. 9516-9520.
29. Shao X., Xiang Y., Cai W. Structural transition from icosahedra to decahedra of large Lennard-Jones clusters //The Journal of Physical Chemistry A. – 2005. – Т. 109. – №. 23. – С. 5193-5197.
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.