Функции | |
| int | iter_bicg (size_t *IA, size_t *JA, double *AN, double *b, size_t n, double tol, int max_iter, double *x, size_t *IM, size_t *JM, double *MN, size_t *IK, size_t *JK, double *KN, double *work) |
Решение разреженной системы линейных уравнений методом бисопряженных градиентов с предобусловливанием. | |
Файл содержит функции, реализующие итерационные методы решения разреженных систем.
| int iter_bicg | ( | size_t * | IA, | |
| size_t * | JA, | |||
| double * | AN, | |||
| double * | b, | |||
| size_t | n, | |||
| double | tol, | |||
| int | max_iter, | |||
| double * | x, | |||
| size_t * | IM, | |||
| size_t * | JM, | |||
| double * | MN, | |||
| size_t * | IK, | |||
| size_t * | JK, | |||
| double * | KN, | |||
| double * | work | |||
| ) |
Решение разреженной системы линейных уравнений
методом бисопряженных градиентов с предобусловливанием.
Метод останавливается, как только относительная норма невязки
не станет меньше заданного допуска
или количество итераций не превысит
.
,
,
- разреженное представление матрицы
в RR(C)U-формате
- вектор правых частей системы
- порядок системы
- допуск на относительную норму невязки 
- максимальное количество итераций
- начальное приближение решения
,
,
- разреженное представление матрицы
в RR(C)U-формате (см. ниже варианты использования предобусловливателя)
,
,
- разреженное представление матрицы
в RR(C)U-формате (см. ниже варианты использования предобусловливателя)
- рабочий массив длины не менее 
- найденное решение
Функция возвращает количество выполненных итераций. Если возвращаемое значение равно
, то заданная точность не достигнута за
итераций.
Возможны следующие варианты использования предобусловливателя:
должен быть равен
. Значение параметров
,
,
,
,
произвольно (например, они тоже равны
).
. В этом случае
должен указывать на диагональные элементы матрицы
. Значение параметров
,
,
,
,
произвольно (например, они равны
).
, где
- нижнетреугольная разреженная матрица,
- верхнетреугольная разреженная матрица. Их RR(C)U-представление хранится соответственно в массивах
,
,
и
,
,
.
1.4.7