Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.srcc.msu.ru/num_anal/lib_na/cat/al/ald1r.htm
Дата изменения: Fri Jun 17 09:13:58 2011 Дата индексирования: Mon Feb 4 02:11:21 2013 Кодировка: Windows-1251 |
Текст подпрограммы и версий ( Фортран ) ald1r.zip |
Тексты тестовых примеров ( Фортран ) tald1r.zip |
Текст подпрограммы и версий ( Си ) ald1r_c.zip |
Тексты тестовых примеров ( Си ) tald1r_c.zip |
Текст подпрограммы и версий ( Паскаль ) ald1r_p.zip |
Тексты тестовых примеров ( Паскаль ) tald1r_p.zip |
Вычисление решения с минимальной евклидовой нормой системы линейных алгебраических неравенств.
Для системы линейных алгебраических неравенств
A * X ? H ищется вектор X минимальной нормы || X || - min
Здесь A - прямоугольная матрица размерности M на N и X - вектор длины N.
Подробное описание алгоритма смотри в [1] (алгоритм LDP)
1. | Lawson C.L., Hanson R.J. "Solving least squares problem", Prentice - Hall Inc.,Englewood Cliffs,New Jersey, 1974. |
SUBROUTINE ALD1R (G, MDG, M, N, H, X, XNORM, W, INDEX, IERR)
Параметры
G - | вещественный двумерный массив размера MDG на N, содержащий при входе в подпрограмму в первых M строках исходную матрицу A размерности M на N; |
MDG - | число строк массива G (тип: целый); |
M, N - | размерности исходной матрицы A (тип: целый); |
H - | вещественный вектор длины M - правая часть системы неравенств; |
X - | вещественный вектор длины N - в результате работы подпрограммы содержит решение (если IERR = 0); |
XNORM - | вещественная переменная, содержащая по окончании работы подпрограммы евклидову норму найденного решения (если IERR = 0); |
W - | вещественный рабочий вектор длины (N + 1) * (M + 2) + 2 * M; |
INDEX - | целый рабочий вектор длины N; |
IERR - | диагностический параметр - код завершения программы со значениями: |
IERR= 0 - | решение получено успешно; |
IERR= 1 - | система неравенств несовместна; |
IERR=65 - | неправильная размерность параметров |
Версии: нет
Вызываемые подпрограммы
ALN1R - | вычисление приближения к псевдорешению системы линейных алгебраических уравнений на множестве неотрицательных векторов |
Замечания по использованию
1. | Подпрограмма ALD1R обращается к вспомогательной подпрограмме с именем: ALN1R4 |
Рассмотрим решение системы неравенств: X + Y ? 2 -2*X - Y ? -4 -X - 2*Y ? -4 DIMENSION G(3, 2), H(3), X(2), W(21), INDEX(3) DATA G /1., -2., -1., 1., -1., -2./ DATA H /2., -4., -4./ DATA MDG /3/, M /3/, N /2/ CALL ALD1R (G, MDG, M, N, H, X, XNORM, W, INDEX, IERR) Результаты: IERR: 0 Решение: 1.000E+00 1.000E+00 XNORM: 1.414E + 00