Матричные вычисления
Язык преподавания
Русский
Семестр
весенний
Трудоемкость
3.00 з.е.
Аудиторная нагрузка
1 лекция, 1 практика в неделю
Итоговый контроль
экзамен

Целью курса является знакомство с численными методами для решения разнообразных линейных задач, включая операции с матрицами, вычисление разложений матриц, решение линейных систем, вычисление спектра. К задачам курса относятся формирование навыков написания программного кода для решения линейных задач, возникающих в вычислительной физике, машинном обучении и т.п., умений оптимально выбирать методы решения задач и обосновывать свой выбор, усвоение основных теоретических результатов о точности и устойчивости алгоритмов.  
При успешном окончании курса студент будет уметь самостоятельно численно моделировать физические системы, которые удается описать в виде некоторой матричной задачи, что покрывает большинство задач вычислительной физики. Студенты будут знать, как работает BLAS и LAPACK, что делает ядро MATLAB, и будут способны реализовывать алгоритмы линейной алгебры, отсутствующие в стандартных пакетах. Курс формирует навыки написания качественного кода на Python, одновременно обучая методам получения высокопроизводительного кода с использованием низкоуровневых вставок, JIT компиляции и учитывая особенности аппаратной архитектуры. Курс широко раскрывает следующие разделы численных методов: LU, QR, сингулярное, спектральное разложения матриц и другие, решение систем линейных уравнений, включая переопределенные и недоопределенные, теорию возмущений, симметричные и несимметричные проблемы собственных чисел, итерационные методы для решения систем и вычисления собственных значений, предобуславливание, параллельные алгоритмы.
Использование численных методов и высокопроизводительных вычислений является общим местом в современной физике, также как и во многих других областях, включая инженерные задачи, вычислительную химию, анализ социальных сетей, задачи искусственного интеллекта и др., использующие тот же математических аппарат. Знание матричных вычислений позволяет получать
корректные результаты при решении перечисленных задач, оптимально выбирать вычислительные методы, что позволяет значительно увеличить производительность труда исследователей. Матричные вычисления являются одним из базовых и старейших курсов в вычислительных методах, однако данныйкурс адаптирован под современное аппаратное и программного обеспечение, а
его содержание покрывает большинство алгоритмов, реализованных в современных программных библиотеках, и формирует основу для понимания свежих публикаций на тему курса.

Пререквизиты