Научная статья на тему 'Решение систем линейных алгебраических уравнений с удвоенной точностью вычислений на языке Си'

Решение систем линейных алгебраических уравнений с удвоенной точностью вычислений на языке Си Текст научной статьи по специальности «Математика»

CC BY
776
99
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИРОВАНИЕ / ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ / ДИФФЕРЕНЦИАЛЬНО-АЛГЕБРАИЧЕСКИЕ УРАВНЕНИЯ / МЕТОДЫ ИНТЕГРИРОВАНИЯ / ВРЕМЕННАЯ ОБЛАСТЬ / ЛИНЕЙНЫЕ АЛГЕБРАИЧЕСКИЕ УРАВНЕНИЯ / SIMULATION / ORDINARY DIFFERENTIAL EQUATIONS / DIFFERENTIAL-ALGEBRAIC EQUATIONS / INTEGRATION METHODS / TIME DOMAIN / LINEAR ALGEBRAIC EQUATIONS

Аннотация научной статьи по математике, автор научной работы — Маничев Владимир Борисович, Глазкова Валентина Владимировна, Кожевников Денис Юрьевич, Кирьянов Даниил Алексеевич, Сахаров Максим Константинович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Маничев Владимир Борисович, Глазкова Валентина Владимировна, Кожевников Денис Юрьевич, Кирьянов Даниил Алексеевич, Сахаров Максим Константинович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Solving the Linear Algebraic Equation Systems with Double Precision of Computations in C Language

A problem of obtaining a numerical solution to the linear algebraic equation systems with a precision of 15 correct significant figures (double precision in C language) for all elements of the solution vector is considered. It is shown that the known iteration methods for refining the vector of solution to the linear algebraic equation systems make it possible to estimate the precision of the obtained solution for a single iteration. To achieve the required double precision for values of the solution vector elements, it is necessary to use computations with the increased number of digits in mantissa of real numbers. Results of solving of test problems are given. Refs. 11. Tabs. 1.

Текст научной работы на тему «Решение систем линейных алгебраических уравнений с удвоенной точностью вычислений на языке Си»

ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ

ТЕХНИКА

УДК 621.382.82.001

В. Б. М а н и ч е в, В. В. Г л а з к о в а, Д. Ю. Кожевников, Д. А. Кирьянов, М. К. Сахаров

РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ С УДВОЕННОЙ ТОЧНОСТЬЮ ВЫЧИСЛЕНИЙ НА ЯЗЫКЕ СИ

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

E-mail: [email protected]; [email protected]

Ключевые слова: моделирование, обыкновенные дифференциальные уравнения, дифференциально-алгебраические уравнения, методы интегрирования, временная область, линейные алгебраические уравнения.

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

1. Моделирование технических систем и объектов в пространстве и времени на основе численного решения дифференциальных уравнений в частных производных, лучшие в настоящее время программные продукты - ANSYS (Ansys, Inc.), NASTRAN (MSC Software, Inc., Siemens PLM Software), SIMULIA/Abaqus (Dassault Systemes, Inc.) и др.

2. Моделирование технических систем и объектов во временной области на основе численного решения систем обыкновенных дифференциальных уравнений (ОДУ), лучшие в настоящее время программные продукты — SPICE (Cadance, Inc., Synopsys, Inc., Mentor Graphics, Inc.), ADAMS, EASY5 (MSC Software, Inc., Boeing, Inc.), MATLAB-SIMULINK (MathSoft, Inc.), Maple-MapleSim (Maple, Inc.), MathCAD (PTC, Inc.), EULER (AutoMechanics, Inc.), МВТУ (МГТУ им. Н.Э. Баумана), ПА9 (МГТУ им. Н.Э. Баумана) и др.

Научно-исследовательские работы по второму направлению выполняются преподавателями, аспирантами, сотрудниками и студентами кафедры РК-6 (САПР) МГТУ им. Н.Э. Баумана с 1974 г. При программной реализации численных методов решения систем ОДУ следует выделять два основных типа погрешностей численного решения — глобальнуюя погрешность (или качественную ошибку) и локальную погрешность (или количественную ошибку). Программисты основное внимание уделяют получению математической локальной точности, хотя главное, конечно, это получение качественно корректного численного решения систем ОДУ. В работах [1, 2] показано, что для гарантии получения качественно корректного решения разнообразных систем ОДУ численный метод решения должен быть AL-устойчивым, т.е. абсолютно устойчивым строго в левой полуплоскости комплексной плоскости устойчивости методов численного решения систем ОДУ. В работе [3] на основе аппроксимации Паде экспоненты в конечную дробь и использования многочленов Якоби [4] были получены коэффициенты AL-устойчивых неявных методов интегрирования систем ОДУ 2, 4 и 6-го порядков точности. Программная реализация этих методов сводится к многократному решению соответствующих систем линейных алгебраических уравнений (СЛАУ) на каждом шаге интегрирования, что, как правило, приводит к нескольким тысячам и более обращений к программе-решателю СЛАУ на всем заданном отрезке интегрирования систем ОДУ. AL-устойчивые неявные методы интегрирования систем ОДУ 2-го и 4-го порядков точности были реализованы в программе DMAN на языках ФОРТРАН и Си при использовании удвоенной точности вычислений [5]. Решение большого числа тестовых и практических задач моделирования технических систем и объектов во временной области с помощью этой программы показало, что для получения качественно корректного решения разнообразных систем ОДУ необходимо на всех шагах интегрирования обеспечивать численное решение соответствующих СЛАУ с точностью в 15 верных значащих цифр для всех значений элементов вектора решения СЛАУ.

В работах [6-8] показано, что для решения этой проблемы возможны два подхода: итерационное уточнение решения, полученного точными, прямыми методами решения СЛАУ; применение в точных, прямых численных методах решения СЛАУ сверхточных (extra precision) вычислений с увеличенным числом разрядов мантиссы вещественных чисел, реализованных, например, в математических пакетах программ Maple (метод Software Floating Point (SFP метод), MATLAB (метод Variable Precision Arithmetic (VPA метод)), Mathematica (метод Arbitrary Precision Arithmetic (APA метод)) и др.

Цель настоящей статьи — исследование применения первого подхода для численного решения СЛАУ на языке Си с точностью в 15

верных значащих цифр для всех значений элементов вектора решения СЛАУ.

Описание проблемы. Покажем, что проблема получения численного решения СЛАУ с точностью в 15 верных значащих цифр для всех значений элементов вектора решения СЛАУ в лучших математических пакетах программ MATLAB, Maple, Mathcad и Mathematica (все расчеты были выполнены с точностью вычислений по умолчанию (удвоенная точность языка Си для всех пакетов) на 32-разрядных версиях этих пакетов программ 2007 г. выпуска) и в известных математических библиотеках стандартных программ на языке Си на обычных персональных компьютерах (ПК) не решена. Рассмотрим тестовую задачу 1 — тестовую задачу Уилкинсона (Wilkinson) [6, 7]:

0,780 0,563 " Х\ ' 0,217 "

0,913 0,659 Х2 0, 254

Нетрудно видеть, что абсолютно точное решение этой задачи: х\ = 1,

Х2 = -1.

В пакете MATLAB рекомендуется определять число обусловленности cond(A) матрицы А коэффициентов СЛАУ с помощью функции cond(A), чтобы оценить гарантированную точность решений, но конкретных рекомендаций не дается. Попытаемся решить эту задачу и зададим параметр числа верных значащих цифр — 15. Описание тестовой задачи Уилкинсона в пакете MATLAB будет таким: format('long') digits(15)

A=[0.78 0.563; 0.913 0.659] cond (A) B=[0.217; 0.254] x=vpa(A\B)

Результат решения тестовой задачи Уилкинсона в пакете MATLAB: A =

0.780000000000000 0.563000000000000 0.913000000000000 0.659000000000000 cond = 2.193218999650770e+006 B =

0.217000000000000 0.254000000000000 x =

.999999999982863 -.999999999975375

Результат решения тестовой задачи Уилкинсона в пакете Maple: > A=Matrix([[0.78, 0.563], [0.913, 0.659]]);

>B=Vector([0.217, 0.254]); >LinearSolve(A,B); 0.999999999901257661 -0.99999999986319910

Результат решения тестовой задачи Уилкинсона в пакете Mathcad: A=

0.7800000 0.563000 0.9130000 0.659000 B=

0.2170000 0.254000 x:=lsolve(A,B) 0.9999999998902543 -0.999999999847955

Результат решения тестовой задачи Уилкинсона в пакете Mathe-matica:

SetPrecision[LinearSolve[{{0.78000000000000, 0.5630000000000}, {0.9130000000000,0.6590000000000}}, {0.217000000000, 0.2540000000000}], 15] {0.999999999890539,-0.999999999848725}

Таким образом, для тестовой задачи Уилкинсона при выборе решателей СЛАУ, рекомендуемых в рассмотренных пакетах программ по умолчанию, на обычных ПК не обеспечивается точность в 15 верных значащих цифр для всех значений элементов вектора решения СЛАУ.

Из описаний программ-решателей СЛАУ для наиболее известных математических библиотек стандартных программ на языке Си (на этом языке ведутся основные разработки на обычных ПК по математическому моделированию технических систем и объектов — IMSL, NAG, Intel MKL, LAPACK, BLAS, CUBLAS, MAGMA и др.) следует, что они также не гарантируют обеспечения требуемой точности в 15 верных значащих цифр для всех значений элементов вектора решения СЛАУ, если cond(A) > 1. Например, аналогичный результат решения тестовой задачи Уилкинсона был получен для аппаратно-программной архитектуры NVIDIA(R CUDATM для решателей СЛАУ из математических библиотек стандартных программ CUBLAS + MAGMA:

device 0: GeForce GTX 260, 1408.0 MHz clock, 895.3 MB memory Test 1. A * X = B [DOUBLE PRECISION] A:

0.78000000000000003 0.56299999999999994 0.91300000000000003 0.65900000000000003

B:

0.21700000000000000 0.25400000000000000

solve by magma_dgetrs_gpu X: 0.99999999991008559 -0.99999999987542965 solve by magma_dgeqrs_gpu X: 0.99999999976779308 -0.99999999967829267 Следует отметить, что использование параметра задаваемого числа верных значащих цифр — 15 при вычислениях в пакете Mathematica (APA метод) дает решение тестовой задачи Уилкинсона с требуемой точностью:

N[LinearSolve[{{78/100,563/1000}, {913/1000,659/1000}}, {217/1000,254/1000}],15] {1.0000000000000,-1.0000000000000} Аналогичные результаты были получены и в других пакетах при использовании упомянутых методов сверхточных вычислений.

Стандартный тип double (или long double) для представления вещественных чисел в компиляторах языка Си на обычных ПК позволяет работать с числами, мантисса которых не превосходит 16-17 десятичных разрядов. В подавляющем большинстве случаев при решении СЛАУ этой длины мантиссы вещественных чисел хватает для получения решений с инженерной точностью. Но при решении разнообразных систем ОДУ (особенно жестких и сверхжестких) иногда необходимо решать СЛАУ, для получения сверхточного решения которых такого числа десятичных разрядов мантиссы вещественных чисел мало. В этом случае ошибки при выполнении арифметических операций в процессе численного решения СЛАУ становятся большими и сильно сказываются на точности конечного результата. Следовательно, для уменьшения влияния ошибок при выполнении арифметических операций надо повысить точность их выполнения. Эксперименты показали, что для получения решений СЛАУ с требуемой точностью надо выполнять вычисления с вещественными числами, у которых мантисса имеет более 2m десятичных разрядов (в зависимости от числа обусловленности cond(A) матрицы коэффициентов СЛАУ), где m — требуемое число верных значащих цифр для всех значений элементов вектора решения СЛАУ. Однако оценка затрат машинного времени на обычных ПК показала, что при математическом моделировании реальных сложных технических систем и объектов эти затраты могут стать недопустимо большими, поэтому сейчас все вычислительные эксперименты по решению СЛАУ с указанной точностью выполняются на суперкомпьютерах. Так, для тестовой задачи Уилкинсона было получено следующее сверхточное решение при использовании вычислений с увеличенным числом разрядов мантиссы вещественных чисел на суперкомпьютере СКИФ МГУ им. М.В.Ломоносова ("Чебышев") методом Гаусса:

i= 1 xi= 0.999999999999999999999999999952405553 i= 2 xi= -0.999999999999999999999999999934060974 Выбор тестовых задач. Указанные AL-устойчивые неявные методы интегрирования сводятся в общем случае к многократному решению соответствующих СЛАУ вида

Ax = b, (1)

где A = (aj) — матрица коэффициентов размера n х n, а det(A) = 0; b = (Ь1,...,Ьп)т — вектор-столбец правых частей; х — вектор решения; n £ N, A £ Rnxn и b £ Rnx1, задан rank A = n и нужно вычислить значения всех элементов вектора х £ Rnx1 с точностью в 15 верных значащих цифр.

На практике при математическом моделировании сложных технических систем и объектов во временной области разброс порядков коэффициентов матрицы A(por(A)) и векторов b и х может быть очень большим (задачи химической кинетики, ядерной и лазерной физики, наноэлектроники и т.п.).

В вычислительной практике часто встречается такой прием, как нормализация вектора х, т.е. если величина хг имеет, например, порядок 10-20, то нормализовав хг по формуле

/у' - /-у» , / /-у»

где хномг = 10-20, перейдем к системе линейных уравнений

A'x' = b. (2)

Получаем, что новые элементы вектора решения х', которые необходимо будет найти, близки к единице. Таким образом, переходим к новой нормализованной СЛАУ (2), где х' = 1, aj = a^ хн0м/.

Поскольку мы от (1) к (2) перешли линейным преобразованием, то все вычислительные процессы решения системы (1) будут эквивалентны процессам решения системы (2), и наоборот. Таким образом, исследовав процесс численного решения системы (2), можно судить о процессе численного решения системы (1). Исходя из приведенных рассуждений, сформулируем класс тестовых задач:

10-por/2 < \a'j| < 10por/2,

n

b' = a'j (i,j = 1,n),

3=1

где por - разброс порядков коэффициентов матрицы А.

Размерности СЛАУ, решаемых при математическом моделировании сложных технических систем и объектов во временной области, могут быть весьма большими, например в задачах математического моделирования микропроцессоров, но особенностью разреженных

СЛАУ, которые при этом решаются, является то, что в строке и столбце матрицы А в 99% случаев стоит, как правило, меньше пяти-семи ненулевых элементов.

Теорема 1. [9] (без доказательства). Не может существовать точного метода нахождения всех собственных значений произвольной матрицы А порядка n > 5. Другими словами, за конечное число арифметических операций нельзя найти абсолютно точно все собственные значения произвольной матрицы А порядка n > 5. Учитывая теорему 1, порядок тестовых задач был выбран равным 5, чтобы можно было абсолютно точно оценивать число обусловленности тестовых задач.

Задавая разные значения параметра por с помощью датчика случайных чисел, формируем полностью заполненную матрицу А; суммируя строки матрицы, будем получать вектор правых частей b. Абсолютно точным решением таких тестовых задач без учета ошибок округлений будет единичный вектор. Ошибки округлений в процессе исключения элементов вектора решения СЛАУ в точных, прямых методах решения СЛАУ почти всегда приводят к тому, что вычисленное решение будет отличаться от абсолютно точного, эталонного. Имеются две общепринятые меры оценки точности для вычисленного решения:

— ошибка e = х * — х,

где x* — абсолютно точное, эталонное решение; x — полученное решение для вектора неизвестных;

— невязка r = b — Ax.

Теория матриц говорит, что если норма одной из этих величин равна нулю, то и норма другой также должна быть равна нулю. Но они не обязаны одновременно быть малыми.

Функция, генерирующая описанные тестовые нормализованные СЛАУ, использует генератор случайных чисел. Основная тестирующая процедура состоит в том, что для заданного por(A) — разброса порядков коэффициентов исходной матрицы А — решается N тестов. Для каждого теста определяется относительная погрешность решения

А = max |Х* — ,Xil.

l^i^n |x*|

Было выбрано значение N = 1000 для каждого набора тестовых задач и фиксировались тестовые задачи, для которых относительная погрешность решения была больше 10-15.

Рассмотрим решение тестовой задачи 2, т.е. тестовой задачи Вох-минцева, полученной по указанной методике в стиле Уилкинсона (абсолютно точное решение этой задачи — это единичный вектор решения СЛАУ). Описание тестовой задачи Вохминцева в пакете MATLAB:

format('long')

A=[ 0.119000000000000 -3.470000000000000 0.000000178000000

- 0.524000000000000 0.005350000000000; 438000.000000000000000 0.866000000000000 0.000000325000000

- 0.005660000000000 - 0.000001940000000; 5600.000000000000000 0.035000000000000 -0.000007740000000 0.021800000000000 14100.000000000000000; 458000.000000000000000 -0.860000000000000 0.000000008000000 0.570000000000000 - 0.000715000000000;

- 16900.000000000000000 -6120.000000000000000

- 0.000005120000000 - 261000.000000000000000 -0.000000645000000;]

cond (A)

B=[- 3.869649822000000; 438000.860338384980000; 19700.056792259998000; 457999.709285008020000;

- 284020.000005765000000] x=A\B

Результат решения тестовой задачи в пакете MATLAB:

x =

1.000000000000000

1.000000000003840

1.000074582711069

0.999999999999908

1.000000000000041

Для тестовой задачи Вохминцева решатель СЛАУ в пакете MATLAB не обеспечил даже шести верных значащих цифр для третьей неизвестной! Аналогичный результат решения тестовой задачи Вохминцева получился для решателя СЛАУ в пакете Maple и в пакете Mathcad. Поскольку пакет Mathcad использует программы из библиотеки стандартных программ Intel MKL на языке Си, то этот результат относится и к этой библиотеке. Решатель СЛАУ из математической библиотеки стандартных программ IMSL на языке Си также не обеспечил требуемой точности при решении тестовой задачи Вохминцева. Аналогичный результат решения тестовой задачи Вохминцева получился для решателей СЛАУ из математических библиотек стандартных программ CUBLAS+MAGMA. Даже решатель СЛАУ в пакете Mathematica для тестовой задачи Вохминцева не обеспечил требуемой точности в 15 верных значащих цифр для всех элементов вектора решений СЛАУ, но выдал предупреждение о возможных неверных значащих цифрах в решении. Решение тестовой задачи Вохминцева с точностью более чем 15 верных значащих цифр для всех неизвестных СЛАУ было получено только при использовании вычислений

с увеличенным числом разрядов мантиссы вещественного числа на

суперкомпьютере СКИФ МГУ ("Чебышев") методом Гаусса:

1= 1 х!= 1.000000000000000000000000000000000000

1= 2 х!= 1.000000000000000000000000000001493944

1= 3 х!= 1.000000000000000000000028908741922810

1= 4 х!= 0.999999999999999999999999999999964370

1= 5 х!= 1.000000000000000000000000000000015985

Результаты решения тестовых задач. Сначала мы применили итерационное уточнение [6-8] для получения решения СЛАУ с точностью в 15 верных значащих цифр для всех элементов вектора решения тестовых СЛАУ на обычных ПК.

Сводная таблица сравнения решателей СЛАУ на ПК

Тестовая задача

Решатель СЛАУ Тестовая задача 1 Уилкинсона; обусловленно сть системы сопё(А) = 106 Тестовая задача 2 Вохминцева; обусловленно сть системы сопё(А) = 1012 Тестовая задача 3 с матрицей Гильберта; обусловленность системы сопё(А) = 1,5 ■ 1013

MATLAB -(8) -(5) -(4)

Mathcad -(8) -(5) -(4)

Mathematica -(8) -(5) -(4)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Maple -(8) -(5) -(Н)

NAG-LAPACK -(8) -(5) -(Н)

IMSL -(8) -(5) -(Н)

Intel MKL -(8) -(5) -(Н)

MAGMA -(8) -(5) -(4)

SADEL + (15) + (15) + (15)

Примечание. Знак (-) означает, что решатель СЛАУ с параметрами решателя по умолчанию не обеспечил точность решения в 15 верных значащих цифр для всех значений элементов вектора решения соответствующей тестовой задачи и не выдал никакого предупреждающего сообщения об этом, в скобках (т) указано полученное минимальное число верных значащих цифр среди всех значений элементов вектора решения тестовых задач; Н — сравнение еще не проводилось.

Проанализировав полученные результаты, выявили, что с помощью итерационного уточнения для плохо обусловленных СЛАУ нельзя получить требуемую точность. Эталонное решение вычислялось с увеличенным числом разрядов мантиссы вещественного числа на суперкомпьютере СКИФ МГУ ("Чебышев"). Численные эксперименты показали, что процесс итерационного уточнения (на основе известного эталонного решения) может улучшить полученное решение от относительной погрешности 1е+2 до 1е-9, может улучшить решение

только от 1e-3 до 1e-4 и может даже ухудшить решение, а также что гарантированно получить решение с требуемой точностью 15 верных значащих цифр для всех значений элементов вектора решения тестовых СЛАУ не удается. В то же время численные эксперименты выявили важнейшее свойство итерационного уточнения - за одну итерацию всегда получаем оценку верных значащих цифр решения для всех значений элементов вектора решения СЛАУ (алгоритм Ильниц-кого [2]).

Выводы. 1. Число обусловленности матрицы коэффициентов СЛАУ cond(A) не следует использовать для оценки числа получаемых верных значащих цифр для всех значений элементов вектора решения СЛАУ.

2. Итерационное уточнение для точных, прямых методов решения СЛАУ за одну итерацию дает оценку числа получаемых верных значащих цифр для всех значений элементов вектора решения СЛАУ (алгоритм Ильницкого [2]).

3. Применение итерационного уточнения для точных, прямых методов не обеспечивает получение решений плохо обусловленных СЛАУ с удвоенной точностью в 15 верных значащих цифр для всех значений элементов вектора решений СЛАУ.

4. Для получения решений плохо обусловленных СЛАУ с гарантированной точностью в m верных значащих цифр для всех значений элементов вектора решений СЛАУ следует использовать вычисления с разрядностью мантиссы вещественных чисел, большей 2m десятичных разрядов (в зависимости от числа обусловленности cond(A) матрицы коэффициентов СЛАУ), однако это требование может привести к недопустимо большим затратам машинного времени обычных ПК при моделировании сложных технических систем и объектов. В этом случае следует использовать суперкомпьютеры.

На основе проведенных исследований на языке Си разрабатываются на ПК программы решения СЛАУ с точностью в 15 верных значащих цифр для всех значений элементов вектора решения СЛАУ с возможностью их использования на универсальных и персональных суперкомпьютерах (библиотека SADEL (Sets of Algebraic and Differential Equations solvers Library — Библиотека решателей для систем алгебраических и дифференциальных уравнений [10]. Подавляющее большинство универсальных и особенно специализированных программ математического моделирования технических систем и объектов разработано и разрабатывается с использованием языка Си. При этом программисты обычно сами пишут программы решения СЛАУ, считая это простой задачей, а затем разрабатывают прекрасные интерфейсы и визуализацию неверных результатов решения сложных вычислительных задач. Это может приводить к авариям и катастрофам объектов,

спроектированных с помощью таких программ, если эти результаты попадут в конструкторскую документацию [11].

В настоящей работе использованы результаты дипломной работы выпускника кафедры РК-6 (САПР) МГТУ им. Н.Э. Баумана Вох-минцеваИ.А.

СПИСОК ЛИТЕРАТУРЫ

1. Евстифеев Ю. А., Маничев В. Б. Эффективный А-устойчивый метод интегрирования обыкновенных дифференциальных уравнений для программ анализа электронных схем // Изв. вузов. Радиоэлектроника. - 1986. - Т. 29. -№ 11.

2. Ж у к Д. М., Маничев В. Б., Ильницкий А. О. Методы и алгоритмы решения дифференциально-алгебраических уравнений для моделирования систем и объектов во временной области // Информационные технологии. - 2010. -Ч. 1, № 7. -Ч.2, № 8.

3. Маничев В. Б., Гл а з ко в а В. Н. Методы интегрирования систем ОДУ для адаптируемых программных комплексов анализа РЭС // Радиотехника. -1988.-№ 4.

4. Справочник по специальным функциям с формулами, графиками и математическими таблицами: Пер. с англ. / Под ред. М.А. Абрамовица, И. Стиган. -М.: Наука, 1979.

5. Ж у к Д. М., Маничев В. Б. Программа DMAN для решения дифференциально-алгебраических уравнений. - № гос. регистр. 2009612666 от 27 мая 2009.

6. W i l k i n s o n J. H. Rounding errors in algebraic processes. - Prentice-Hall, 1963.

7. УилкинсонДж. Х. Алгебраическая проблема собственных значений: Пер. с англ. - М.: Наука, 1970.

8. Anderson E., Bai Z., Bischof C., Blackford S., Demmel J., Dongarra J., Croz J. Du, Greenbaum A., Hammarling S., McKenney A., Sorensen D. LAPACK user's guide. - Third edition. -SIAM, Philadelphia, 1999.

9. Богачев К. Ю. Практикум на ЭВМ. Методы решения линейных систем и нахождения собственных значений. - М.: Кафедра вычислительной математики, МГУ им. М.В. Ломоносова (КВМ), 1998.

10. Андронов А. В., Жук Д. М., Кожевников Д. Ю., Маничев В. Б. Библиотека математических программ-решателей на языке Си: SADEL / http://pa10.ru

11. Петров Ю. В. Обеспечение достоверности и надежности компьютерных расчетов. - СПб.: БХВ-Петербург, 2008. - 160 с.

Статья поступила в редакцию 28.10.2011

Владимир Борисович Маничев родился в 1947 г., окончил МВТУ им. Н.Э. Баумана в 1971г. Канд. техн. наук, доцент кафедры "Системы автоматизированного проектирования" МГТУ им. Н.Э. Баумана. Автор более 80 научных работ в области математического обеспечения систем автоматизированного проектирования.

V.B. Manichev (b. 1947) graduated from the Bauman Moscow Higher Technical School in 1971. Ph. D. (Eng.), assoc. professor of "Automated Design Systems" department of the Bauman Moscow State Technical University. Author of more than 80 publications in the field of mathematical support of automated design systems.

Валентина Владимировна Глазкова родилась в 1985 г., окончила МГУ им. М.В. Ломоносова в 2006 г. Канд. физ.-мат.наук, ассистент кафедры "Автоматизация систем вычислительных комплексов" МГУ им. М.В. Ломоносова. Автор более 10 научных работ в области вычислительной математики, программирования и систем автоматической категоризации текстовой информации.

V.V. Glazkova (b. 1985) graduated from the Lomonosov Moscow State University in 2006. Ph. D. (Phys.-Math.), assistant lecturer of "Automation of Systems of Computing Complexes" department of the Lomonosov Moscow State University. Author of more than 10 publications in the field of computational mathematics, programming and systems for automatic categorization of text data.

Денис Юрьевич Кожевников родился в 1974 г., окончил МГТУ им. Н.Э. Баумана в 2000 г. Математик-программист кафедры "Системы автоматизированного проектирования" МГТУ им. Н.Э. Баумана. Автор ряда научных работ в области программирования и математического обеспечения систем автоматизированного проектирования.

D.Yu. Kozhevnikov (b. 1974) graduated from the Bauman Moscow State Technical University in 2000. Mathematician-programmer of "Automated Design Systems" department of the Bauman Moscow State Technical University. Author of a number of publications in the field of programming and mathematical support of automated design systems.

Даниил Алексеевич Кирьянов родился в 1989 г. Студент кафедры "Системы автоматизированного проектирования" МГТУ им. Н.Э. Баумана. Автор ряда научных работ в области химической кинетики и математического обеспечения систем автоматизированного проектирования.

D.A. Kir'yanov (b. 1989) — student of "Automated Design Systems" department of the Bauman Moscow State Technical University. Author of a number of publications in the field of chemical kinetics and mathematical support of automated design systems.

Максим Константинович Сахаров родился в 1990 г. Студент кафедры "Системы автоматизированного проектирования" МГТУ им. Н.Э. Баумана. Автор ряда научных работ в области компьютерного зрения и математического обеспечения систем автоматизированного проектирования.

M.K. Sakharov (b. 1990) — student of "Automated Design Systems" department of the Bauman Moscow State Technical University. Author of a number of publications in the field of computer vision and mathematical support of automated design systems.

i Надоели баннеры? Вы всегда можете отключить рекламу.