Концепция программно-методического продукта «Лабораторный практикум по вычислительной математике»

Вид материалаПрактикум
2.4Разделение практикума на программы
Цикл «Алгебраические уравнения и системы»
Линейные системы уравнений. Спектр матриц
Нелинейные уравнения. Локализация корней
Нелинейные системы. Поиск минимума
Цикл «Приближение функций»
Как и в старом практикуме
Погрешности вычислений
Численное интегрирование
Цикл «Обыкновенные дифференциальные уравнения»
Задача Коши для нелинейной системы ОДУ
Краевая задача для линейного ОДУ 2-го порядка. Спектральная задача Штурма-Лиувилля
Краевая задача для системы ОДУ
Уравнение теплопроводности
Цикл «Многомерные уравнения в частных производных»
Уравнение Пуассона
Подобный материал:
1   2   3   4   5   6

2.4Разделение практикума на программы


Следует заметить, что «программы», «лабы» и «темы курса» – это не совпадающие понятия. Лабой называется та работа, за которую студент получает оценку. В некоторых случаях последовательность лаб отличается от последовательности тем (тем более, что разные лекторы дают разную последовательность). А в некоторых случаях одна и та же лаба может выполняться с помощью двух программ; и напротив, одна программа может использоваться в двух лабах. При желании преподаватель может давать студентам лабы именно в той последовательности, к которой привык, и может не обращать внимания, например, на то, что разные лабы оказались в одной программе.

Предлагается несколько изменений в разделении практикума на программы (по сравнению с разделением старого практикума). Новое разделение позволяет меньше усилий затратить на реализацию программ (в условиях расширения их функций по сравнению со старым практикумом), а также иллюстрирует вычислительную общность некоторых задач, формально различных с точки зрения математической постановки. В частности, многие методы решения систем нелинейных уравнений используют методы поиска минимума функции соответствующего числа переменных; а многие методы решения краевых задач для обыкновенных дифференциальных уравнений используют решение задачи Коши.

Кроме того, вводится понятие «циклов лабораторных работ», чтобы программы были лучше структурированы. Для удобства программы ниже имеют двухуровневую нумерцию, а лабы упорядочены линейно. Ниже номер лабы указывается жирным для каждой программы, хотя это соответствие зависит от потока (факультета) и от личных предпочтений преподавателя. Условно возможные варианты последовательности лаб можно разделить на три типа: «потоками типа 1» ниже называются варианты курса, где алгебраические уравнения рассматриваются первыми лабами (потоки Пирогова, Косарева и Демченко, учебник Рябенького); «потоками типа 2» – где решение алгебраических уравнений идет ПОСЛЕ приближения функций, но ДО численного дифференцирования и интегрирования (пока это гипотетический вариант курса); «потоками типа 3» – где решение алгебраических уравнений идет непосредственно перед дифференциальными уравнениями (потоки Петрова и Лобанова, учебник Бахвалова). Есть и другие варианты (например, в учебнике Самарского линейные системы идут первыми, а нелинейные – последними, т.е. непосредственно перед дифф. уравнениями).

В нижеприведенном описании программ (курсивом) указывается также степень близости программы к старому практикуму и приоритет лабы (приоритет основан на наличии прототипов некоторых программ и на возможности апробировать лабы на занятиях со студентами, которое возможно не ранее чем весной).
  1. Цикл «Алгебраические уравнения и системы» (осень). Цикл, в отличие от старого практикума, включает поиск спектра (в рамках лабы по линейным системам), локализацию корней (являющуюся важным элементом практического решения нелинейных уравнений) и поиск экстремума функции многих переменных, поскольку решение этой задачи является основным элементом метода решения нелинейных систем. В данном цикле все расчеты с итерационными методами имеют режим пошагового выполнения.
    1. « Линейные системы уравнений. Спектр матриц». Лаба №2 для потоков типа 1, №4 для потоков типа 2 и №6 для потоков типа 3. Сюда входят четыре части: прямые методы решения линейных систем, быстрые прямые методы для n-диагональных матриц, итерационные методы, расчет спектра матриц. Число методов больше, чем в старом практикуме. Размерность матриц не ограничивается, предусматривается возможность автоматического заполнения n-диагональных матриц большой размерности. Приоритет: высокий (т.к. на базе этой программы должна делаться лаба по эллиптическим уравнениям, необходимая к апрелю).
    2. « Нелинейные уравнения. Локализация корней». Лаба №3 для потоков типа 1, №5 для потоков типа 2 и №7 для потоков типа 3. Уравнения можно задавать как в виде коэффициентов полинома (в этом случае иллюстрируются методы локализации корней), так и в виде произвольной функции одной переменной (в этом случае проще иллюстрировать различия между методами). Старый практикум использовал только второй подход. Приоритет: средний (к сентябрю 2007).
    3. « Нелинейные системы. Поиск минимума». Лаба №4 для потоков типа 1, №6 для потоков типа 2 и №8 для потоков типа 3. Эта программа в старом практикуме отсутствовала. Методы решения систем предполагают произвольное число уравнений, однако пока предлагается задавать лишь два уравнения, каждое из которых может быть кривой второго порядка или, в вырожденном случае, прямой линией. Выбор начального приближения (локализация корней) проводится пользователем графически (на основе двумерной визуализации). С помощью трехмерной визуализации иллюстрируется как процесс поиска минимума (функции двух переменных, заданной независимо от системы), так и методы решения нелинейных систем типа градиентного или случайного спуска (в этом случае минимизируемая функция равна квадрату вектор-функции системы уравнений). Приоритет: низкий.
  2. Цикл «Приближение функций» (осень).
    1. «Интерполяция». Включает алгебраическую интерполяцию и сплайн-интерполяцию. Эта лабу желательно давать до численного дифференцирования и интегрирования (поскольку полиномиальная интерполяция используется там при выводе формул). То есть рекомендуемый номер лабы – №5 для потоков типа 1 и №2 для потоков типа 2,3. Приоритет: средний.
    2. «Среднеквадратичное приближение. Переопределенные системы уравнений». Как и в старом практикуме, здесь стоит сделать упор на самое распространенное приложение теории переопределенных систем – на среднеквадратичное приближение одномерных дискретных функций. В потоках типа 1 лаба идет под №6 (хотя есть и другой вариант – давать ее сразу после линейных систем под №3). В потоках типа 2 эта лаба под №3 может служить переходным звеном между интерполяционным приближением (которая в большинстве учебников рассматривается вместе со среднеквадратичным приближением) и линейными системами уравнений. В потоках типа 3 данная лаба тоже имеет №3 (здесь есть нелогичность: переопределенные системы отделяются от обычных систем другими лабами).
      Какую приближающую функцию использовать (y = k*x+b или? y = ak*xk+ak-1*xk-1+..+a0 или? произвольная функция) – выносится на обсуждение. Приоритет: низкий.
  3. Цикл «Дискретные функции» (осень). Цикл объединяет лабы, которые рассматривают дискретизацию функций одной переменной и их преобразование в дискретном виде. Следует заметить, что тема «Погрешности вычислений», несмотря на ее выделение в отдельную программу – лабу №1, проходит красной нитью через многие лабы первых трех циклов (программы этих циклов позволяют исследовать погрешность, в том числе, в зависимости от разрядности чисел). Особенно подробно эта тема может быть рассмотрена на программах по дифференцированию, по интерполяции и по решению систем линейных уравнений (и даже в программе по интегрированию можно убедиться, что неустранимая погрешность мала).
    1. « Погрешности вычислений». Включает численное дифференцирование (простейшая аппроксимация) и приближение функции с помощью ряда. Лаба имеет №1 для всех потоков. Аналогично старому практикуму. Приоритет: средний (к сентябрю 2007).
    2. «Численное дифференцирование». Данная программа обычно соответствует лабе №7 для потоков типа 1,2 и №4 для потоков типа 3. Лабу по дифференцированию в потоках типа 3 можно давать также под №2 (это является логичным продолжением лабы №1, но не очень удобно по другой причине: в начале семестра студенты не могут понимать величину погрешности с точки зрения интерполяционных формул). В старом практикуме данная программа отсутствовала, однако она желательна для придания практикуму законченного вида (для покрытия им 100% тем лекций). Кроме того, данная лаба дает дополнительные методические возможности по изучению погрешности. Приоритет: низкий.
    3. « Численное интегрирование». Данная лаба обычно следует за лабой по дифференцированию (то есть рекомендуется №8 для потоков типа 1,2 и №5 для потоков типа 3; см. выше). По сравнению со старым практикумом, предлагается сделать данную программу более похожей на другие лабы цикла. Это предполагает показ значения интеграла не только в последней точке, но и на всем отрезке интегрирования (на графике). Приоритет: низкий.
  4. Цикл «Обыкновенные дифференциальные уравнения» (зима). Режим пошагового выполнения в данном цикле отсутствует (так как результаты шагов по времени хорошо видны на графиках). Исключением являются «шаги», понимаемые как приближение к решению на всем отрезке (однократное решение задачи Коши) – это может показываться в пошаговом режиме.
    1. « Задача Коши для нелинейной системы ОДУ». Лаба №9 (для всех потоков). Сюда включаются не только разнообразные методы решения ОДУ (одношаговые и многошаговые, в том числе для жестких систем), но и методы вычисления шага, разные методы решения системы алгебраических уравнений на шаге. Приоритет: очень высокий (к ноябрю 2006).
    2. « Краевая задача для линейного ОДУ 2-го порядка. Спектральная задача Штурма-Лиувилля». Часть лабы №10. Метод прогонки (в обе стороны) и все другие методы для линейных задач. Приоритет: высокий (к ноябрю 2006).
    3. « Краевая задача для системы ОДУ». Часть той же лабы №10. Программа с точки зрения интерфейса расширением программы для задачи Коши. Она рассматривает те методы/эффекты (в т.ч. отсутствующие в старом практикуме), которые используются/проявляются в случае нелинейной системы и в случае порядка системы уравнений, превышающего 2 (в частности, рассматривается жесткая краевая задача). Приоритет: низкий (к февралю 2007 все равно некоторые методы не успеть).
  5. Цикл «Одномерные эволюционные уравнения в частных производных» (весна).
    1. «Уравнение переноса». Лаба №11. Приоритет: высокий (к марту 2007).
    2. «Волновое уравнение». Лаба №12. Программа будет являться расширением предыдущей программы. Выносится на обсуждение: что лучше вводить, волновое уравнение или систему из двух уравнений? Приоритет: высокий (к марту 2007).
    3. « Уравнение теплопроводности». Лаба №13. Теперь в этой лабе будет не только линейное уравнение, как в старом практикуме, но и нелинейное уравнение с коэффициентом ~uk. Приоритет: высокий (к марту 2007).
    4. «Конвективно-диффузионное уравнение». Лаба №14. Иллюстрирует метод расщепления по физическим процессам. Здесь же нелинейные уравнения, в т.ч. Хопфа. Приоритет: низкий (скорее всего, в 2007 не будет использоваться преподавателями).
  6. Цикл «Многомерные уравнения в частных производных» (весна).
    1. [«Двумерное уравнение теплопроводности». Иллюстрируется метод расщепления по координатам (метод дробных шагов, метод переменных направлений). Лаба №15 возможна в перспективе]
    2. « Уравнение Пуассона». Лаба №16. Здесь рассматриваются разные шаблоны, а также многочисленные методы решения сеточных уравнений. [В перспективе, возможно, превратится из «чисто учебной» в «профессиональную» программу, дополнившись большой частью (или отдельной лабой №16?) «Вариационные и проекционно-сеточные методы» или «Метод конечных элементов»] Приоритет: высокий (к апрелю 2007).