Основы матричных вычислений 2022/2023
Содержание
О курсе
Курс для студентов 2 курса в 3-4 модулях.
Первая лекция состоится 13.01, первые семинары - начиная с 16.01.
Лектор: Рахуба Максим Владимирович
Семинаристы:
Группа | Преподаватель | Учебные ассистенты | Чат в телеграм |
---|---|---|---|
1 | Рахуба Максим Владимирович | Максим Васильев, Каримжан Айтхаджаев | |
2 | Рахуба Максим Владимирович | Александра Сендерович | |
3 | Тяпкин Даниил Николаевич | Николай Юдин | |
4 | Самсонов Сергей Владимирович | Кирилл Королев | |
5 | Медведь Никита Юрьевич | Ян Максимов | |
6 | Зароднюк Алёна Владимировна | Тимофей Грицаев, Юрий Максюта |
План курса
Если какие-то лекции не выложены или найдены ошибки на вики-странице - пишите @tgritsaev
Лекции
- Основы матричного анализа (13.01.2023). Векторные и матричные нормы. Скалярное произведение и ортогональность. Разложение Шура. Слайды Конспект (TeX)
- Малоранговое приближение матриц – 1 (20.01.2023). Нормальные матрицы. Знакоопределённые матрицы. Сингулярное разложение (SVD): доказательство существования, наивный алгоритм, связь с матричными нормами. Теорема Эккарта-Янга-Мирского. Слайды Конспект (TeX)
- Малоранговое приближение матриц – 2 (27.01.2023). Скелетное разложение: разделение переменных и ранг, CUR-разложение и интерполяционная формула. Малоранговая арифметика: QR-разложение, преобразование скелетного разложения в SVD. Слайды
- Малоранговое приближение матриц – 3 (03.02.2023). Ортопроекторы. Приближение образа матрицы. Простейший рандомизированный алгоритм поиска усечённого SVD. Доска
- Малоранговое приближение матриц – 4 (11.02.2023). Alternating least squares (ALS). Матрично-векторное дифференцирование. Кронекерово произведение. Доска
- Малоранговое приближение многомерных массивов (17.02.2023). Каноническое тензорное разложение. Разложение Таккера. Higher-order SVD. Доска Конспект (TeX)
- Вычисление QR-разложения (03.03.2023). Отражения Хаусхолдера. Вращения Гивенса. Rank-revealing QR (RRQR). Доска
- Метод наименьших квадратов и псевдообратные матрицы (10.03.2023). Полноранговый случай. Общий случай. Регуляризация. Доска
- FFT и структурированные матрицы (17.03.2023). Быстрое преобразование Фурье (FFT). Циркулянты. Тёплицевы матрицы. Доска
- FFT и структурированные матрицы – 2 (24.03.2023). FFT для произвольных n. Дискретная свёртка. FFT, тёплицевы матрицы, циркулянты в 2D. Дискретное косинус-преобразование (DCT). Доска
- Умножение матриц, вычислительная устойчивость, обусловленность (07.04.2023). Метод Штрассена. BLAS. Машинные числа. Вычислительная устойчивость. Обусловленность. Презентация
- Матричные ряды (14.04.2023). Определение, критерий Коши. Ряд Неймана. Теория возмущений для линейных систем. Матричная экспонента. Матричные функции. Доска
- Прямые методы решения линейных систем с плотными матрицами (21.04.2023). LU-разложение, LDL-разложение. Связь с методом Гаусса. Выбор ведущего элемента (pivoting). Разложение Холецкого. Доска
- Прямые методы решения линейных систем с разреженными матрицами (28.04.2023). Формула Шермана-Моррисона, тождество Вудберри. Разреженные матрицы: заполнения в L и U. Алгоритмы поиска P (матрицы перестановки). Доска
- Итерационные методы решения линейных систем (12.05.2023). Одношаговые методы: метод простой итерации, градиентный спуск, метод Чебышёва. Презентация
- Итерационные методы решения линейных систем – 2 (19.05.2023). Оптимизация на подпространствах Крылова. Метод сопряжённых градиентов. Конспект
- Итерационные методы решения линейных систем – 3 (26.05.2023). Сходимость CG. GMRES. Предобуславливание. Презентация
- Методы решения частичной задачи на собственные значения (02.06.2023). Eigenvalue problem как задача оптимизации. Степенной метод. Метод Релея-Ритца. Методы Ланцоша и Арнольди. Конспект
- Методы решения частичной и полной задач на собственные значения (09.06.2023). Числа Ритца в методе Ланцоша. QR-алгоритм. Конспект
- Теория возмущений (16.06.2022). Алгоритм для SVD. 1-я и 2-я теоремы Гершгорина. Теорема Бауэра-Файка. Число обусловленности для отдельный собственных значений. Конспект
Проверочные работы на семинарах
На семинарах будут проходить короткие тесты (проверочные работы) по теме лекции и семинара с предыдущей недели.
Домашние задания
На курсе предусмотрены теоретические домашние задания и практические домашние задания на языке Python. Выдаются каждые 2-3 недели.
Каждый студент 2 раза за семестр может просрочить дедлайн ДЗ на 1 сутки. Чтобы использовать эту возможность, достаточно просто загрузить работу после дедлайна.
- Практическое ДЗ-1. Дедлайн: 15.02.23 в 23:59. Условие
- Практическое ДЗ-2. Дедлайн: 12.03.23 в 23:59. Условие
- Практическое ДЗ-3. Дедлайн: 09.04.23 в 23:59. Условие
- Практическое ДЗ-4. Дедлайн: 21.05.23 в 23:59. Условие
- Практическое ДЗ-5. Дедлайн: 18.06.23 в 23:59. Условие
Коллоквиум
Коллоквиум пройдет 25 апреля и будет включать в себя материалы по первым 12 лекциям и семинарам. Более детальная информация о времени и месте проведения коллоквиума будет ближе к дате проведения. Планируется следующий формат коллоквиума (максимальное число баллов: 2 за определения + 3 за теорему с доказательством + 3 за решение задачи + 2 за доп. вопрос):
Сначала выдается билет, включающий в сумме 4 определения/формулировки утверждений из следующего списка. На подготовку дается 10 минут. При правильном ответе хотя бы на 3 из 4 определений/формулировок коллоквиум продолжается дальше, и вы получаете x-2 баллов, где x – число верно отвеченных вопросов. В противном случае за коллоквиум выставляется 0 баллов.
При успешной сдаче определений вам выдается билет, содержащий теоретический вопрос на доказательство, а а также задачу. На подготовку к ответу дается 40 минут. Теоретический вопрос на доказательства будет по теоремам из следующего списка. Максимальное число баллов за ответ на этот вопрос равно 3. Для подготовки к задачам советуем повторить теоретические домашние задания, а также задачи с семинаров.
В процессе беседы по предыдущим пунктам экзаменатор может задавать уточняющие вопросы. После ответа на пункты 2) и 3) экзаменатор задает дополнительный вопрос, например, задачу или вопрос, связанный с теорией. Ответ на дополнительный вопрос оценивается в 2 балла.
P.S.: Список определений/формулировок, а также теорем с доказательствами будет дополнен материалами с 11 и 12 лекций и семинаров, которые пройдут в 4-м модуле.
Экзамен
Итоговая оценка за курс
Итог = Округление(min(10, 0.2 * ТДЗ + 0.15 * ПДЗ + 0.1 * БДЗ + 0.1 * ПР + 0.25 * К + 0.3 * Э))
Обратите внимание, что в 4-м модуле ТДЗ, ПДЗ, ПР являются средними оценками за оба модуля.
- ТДЗ – средняя оценка за теоретические домашние задания.
- ПДЗ – средняя оценка за практические домашние задания в Python.
- БДЗ – средняя оценка за бонусные задачи.
- ПР – средняя оценка за проверочные работы на семинарах.
- К – оценка за коллоквиум.
- Э – оценка за письменный экзамен, проводимый в конце 4-го модуля.
Округление арифметическое.
Автоматов не предусмотрено.
Литература
1) Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations 4th Edition. The Johns Hopkins University Press. Baltimore.
2) Тыртышников, Е. Е. (2007). Методы численного анализа. Академия, Москва.
3) Trefethen, L. N., & Bau III, D. (1997). Numerical linear algebra. (Vol. 50). Siam. Philadelphia.
4) Demmel, James W. Applied numerical linear algebra. Society for Industrial and Applied Mathematics, 1997.