3.Общие характеристики подпрограмм решения задачи Коши

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

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

 Подпрограммы вычисления решения задачи Коши реализуют численные методы разного порядка точности. Более высокий порядок обеспечивает при малых размерах шага интегрирования более высокую точность при наличии достаточной гладкости правой части дифференциальных уравнений. Метод высшего порядка оказывается более эффективным, если требуется высокая точность, и менее эффективным в противном случае. Однако при выборе порядка метода следует помнить, что каждый порядок требует существования соответствующих непрерывных частных производных правой части уравнения. Если для какого - то порядка правая часть не является достаточно гладкой, то применение методов этого и более высоких порядков нецелесообразно, так как решение данной задачи может быть получено с той же точностью методом более низкого порядка с меньшим объемом вычислений и за меньшее время.

Следует иметь также в виду, что даже те методы, которые используют для контроля точности оценку главного члена погрешности приближенного решения, не гарантируют заданную точность, так как эта оценка является асимптотической, т.е. справедлива в пределе при  h → 0.

Hа точность результата вычислений влияют ошибки округления, зависящие от длины машинного слова. Каждая программа Библиотеки имеет версию, предназначенную для выполнения промежуточных вычислений с удвоенным числом значащих цифр, когда под мантиссу отводится не одно машинное слово, а два слова. B тех случаях, когда вычислительная погрешность в одинарном случае превышает допустимую предельную погрешность приближенного решения, необходимо использовать версии программ с удвоенным числом значащих цифр.

Параметры подпрограмм решения задачи Коши можно условно разделить на следующие группы:

а) параметры, определяющие постановку математической задачи; к ним относятся:
- число уравнений в системе,
- начальное значение независимой переменной,
- начальное значение зависимой переменной (решения),
- подпрограмма вычисления правой части системы уравнений,
- конечное значение независимой переменной, при котоpом требуется вычислить решение задачи;
- для жестких систем уравнений может присутствовать дополнительный параметр, указывающий подпрограмму вычисления матрицы Якоби системы;
б) параметры, характеризующие точность приближенного решения (для подпрограмм с контролем точности);
в) параметры, относящиеся к величине шага интегрирования или к величине, обратной к нему;
г) параметр, задающий режим использования подпрограммы (задается, как правило, для подпрограмм, реализующих один шаг численного интегрирования);
д) рабочие массивы, необходимые для хранения промежуточных pезультатов;
е) параметр, указывающий на причину окончания работы подпрограммы; нулевое значение этого параметра указывает на благополучное окончание работы для заданных пользователем исходных данных; после окончания работы подпрограммы необходимо проверить значение этого параметра.