Текст подпрограммы и версий ( Фортран ) asv1r.zip , asv1d.zip |
Тексты тестовых примеров ( Фортран ) tasv1r.zip , tasv1d.zip |
Текст подпрограммы и версий ( Си ) asv1r_c.zip , asv1d_c.zip |
Тексты тестовых примеров ( Си ) tasv1r_c.zip , tasv1d_c.zip |
Текст подпрограммы и версий ( Паскаль ) asv1r_p.zip , asv1e_p.zip |
Тексты тестовых примеров ( Паскаль ) tasv1r_p.zip , tasv1e_p.zip |
Решение систем линейных алгебраических уравнений с матрицей Вандермонда.
ASV1R вычисляет решение системы N линейных алгебраических уравнений с матрицей Вандермонда:
| 1 1 ... 1 | | y1 | | b1 | | x1 x2 ... xN | | y2 | | b2 | | x12 x22 ... xN2 | | y3 | = | b3 | . . . . . . . . . . . . . . . . . . . . . . . . | x1N-1 x2N-1 ... xNN-1 | | yN | | bN |
Решение системы данного вида с транспонированной матрицей осуществляется подпрограммой IP01R .
Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.
SUBROUTINE ASV1R (X, Y, B, N, RAB, IERR)
Параметры
X - | вещественный вектор длины N, компоненты которого равны коэффициентам x1, x2, ..., xN заданной матрицы системы; |
Y - | вещественный вектор длины N, содержащий компоненты вычисленного вектора решения системы; |
B - | вещественный вектор длины N, в котором задаются компоненты вектора правой части системы; |
N - | порядок системы (тип: целый); |
RAB - | вещественный вектор длины N, используемый в подпрограмме в качестве рабочего; |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом |
IERR=65 - | когда матрица системы вырождена. |
Версии
ASV1D - | решение систем линейных алгебраических уравнений с матрицей Вандермонда в режиме удвоенной точности. При этом параметры X, Y, B, RAB должны иметь тип DOUBLE PRECISION. |
Вызываемые подпрограммы
UTAS10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ASV1R. |
UTAS11 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ASV1D. |
Замечания по использованию: нет
REAL X(3), Y(3), B(3), RAB(3) DATA X /0.0, - 1.0, 1.0/, B /0.0, 1.0, 2.0/ N = 3 CALL ASV1R (X, Y, B, N, RAB, IERR) Результаты: Y = ( - 2.0, 0.5, 1.5 ) , IERR = 0