ПРИМЕНЕНИЕ МОНАДНЫХ ВЫЧИСЛЕНИЙ ПРИ РЕШЕНИИ ЧИСЛЕННЫХ ЗАДАЧ
- Авторы: Краснов М.М1
-
Учреждения:
- Институт прикладной математики им. М.В. Келдыша РАН
- Выпуск: № 5 (2025)
- Страницы: 3-10
- Раздел: ПАРАЛЛЕЛЬНОЕ И РАСПРЕДЕЛЕННОЕ ПРОГРАММИРОВАНИЕ
- URL: https://medbiosci.ru/0132-3474/article/view/378351
- DOI: https://doi.org/10.7868/S3034584725050016
- ID: 378351
Цитировать
Аннотация
Данная работа является дальнейшим развитием исследований по применению функционального программирования для численных методов. В частности, функциональное программирование может помочь в перенесении программ на графические ускорители с технологией CUDA. В предыдущих работах основной упор делался на функторах (и аппликативных функторах). Теоретические основы монадных вычислений излагались, но в настоящей работе основной упор делается на их практическом применении. Один из базовых принципов функционального программирования — активное использование композиции функций, которая позволяет строить из простых функций сложные и, таким образом, упрощает написание сложных программ. Монадные вычисления позволяют строить цепочки сложных вычислений. Такие цепочки — это тоже, в некотором смысле, композиция функций, но на более высоком, монадном уровне (монадная композиция).
Ключевые слова
Об авторах
М. М Краснов
Институт прикладной математики им. М.В. Келдыша РАН
Email: kmm@kiam.ru
ORCID iD: 0000-0001-7988-6323
Москва, Россия
Список литературы
- Krasnov M.M., Feodoritova O.B. The use of functional programming library for parallel computing on CUDA // Program. Comput. Software. 2024. V. 50. No 1. P. 11-23. doi: 10.1134/S0361768824001055.
- CUDA Zone. https://developer.nvidia.com/cudazone
- Krasnov M.M. Functional programming library for C++ // Program. Comput. Software. 2020. V. 46. No 5. P. 330-340. doi: 10.1134/s0361768820050047.
- Haskell language. https://www.haskell.org
- MacLane S. Categories for the Working Mathematician // Graduate Texts in Mathematics. V. 5. New York: Springer, 1978. https://doi.org/10.1007/978-1-4757-4721-8
- Milewski B. Category Theory for Programmers. https://github.com/hmemcpy/milewski-ctfpdf/releases/download/v1.3.0/category-theory-for-programmers.pdf
- Krasnov M.M. Operator library for solving multidimensional mathematical problems on CUDA // Mathematic Modeling and Computing. 2015. V. 27. No 3. P. 109-120.
- Krasnov M.M. Mesh-operator approach to programming problems of mathematical physics: Extended Abstract of Candidate's Dissertation in Physics and Mathematics // Moscow: Keldysh Institute of Applied Mathematics, Russian Academy of Sciences, 2017.
- Krasnov M.M. Metaprogrammirovanie shablonov C++ v zadachakh matematicheskoi fiziki (Metaprogramming of C++ Templates in Mathematical Physics Problems) // Moscow: Institut Prikladnoi Matematiki im. M.V. Keldysha, 2017. https://doi.org/10.20948/mono-2017-krasnov
- Krasnov M.M. Application of symbolic differentiation for solving of some computational problems // Preprint of Keldysh Institute of Applied Mathematics, Russian Academy of Sciences, Moscow, 2017. No 4. https://doi.org/10.20948/prepr-2017-4
- Krasnov M.M. The use of functional programming in solving numerical problems // Preprint of Keldysh Institute of Applied Mathematics, Russian Academy of Sciences, Moscow, 2019. No 114. https://doi.org/10.20948/prepr-2019-114
- Stroustrup B. The C++ Programming Language // B. Stroustrup // Addison-Wesley, 2013 (4th ed.)
- Stroustrup B. Programming: Principles and Practice Using C++ // B. Stroustrup // Addison-Wesley, 2013 (2nd ed.)
- Stroustrup B. The Design and Evolution of C++ // B. Stroustrup // Addison-Wesley, 1994.
- Stroustrup B. A Tour of C++ // B. Stroustrup // Addison-Wesley, 2014.
- Stroustrup B. Programming: Principles and Practice Using C++ // B. Stroustrup // Upper Saddle River: Addison-Wesley, 2009.
- Stroustrup B. The Design and Evolution of C++ // B. Stroustrup // Pearson, 1994.
- The C++ Resources Network. http://www.cplusplus.com
Дополнительные файлы


