И другие программы этой серии
Если M1 или M2 – пустые матрицы, то они рассматриваются как единичные матрицы, что эквивалентно отсутствию входных условий вообще.
• bicg(A,B,tol,maxit,M1,M2,X0) – точно задается начальное приближение X0. Если X0 – пустая матрица, то по умолчанию используется вектор, состоящий из нулей.
• X = bicg(A,B,tol,maxit,M1,M2,X0) – при наличии единственного выходного параметра возвращает решение X. Если метод bicg сходится, выводится соответствующее сообщение. Если метод не сходится после максимального числа итераций или по другой причине, на экран выдаются относительный остаток norm(B–A*X)/norm(B) и номер итерации, на которой метод остановлен.
• [X,flag] = bicg(A,X,tol,maxit,M1,M2,X0) – возвращает решение X и флаг flag, описывающий сходимость метода.
• [X,flag,relres] = bicg(A,X,tol,maxit,M1,M2,X0) – также возвращает относительную вторую норму вектора остатков relres=norm (B–A*X)/norm(B). Если флаг flag равен 0, то relres ≤ tol.
• [X,flag,relres,iter] = bicg(A,B,tol,maxit,M1,M2,X0) – также возвращает номер итерации, на которой был вычислен X. Значение iter всегда удовлетворяет условию 0 ≤ iter ≤ maxit.
• [X,flag,relres,iter,resvec] = bicg(A,B,tol,maxit,M1,M2, X0) – также возвращает вектор вторых норм остатков resvec для каждой итерации, начиная с resvec(1)=norm(B–A*X0). Если флаг flag равен 0, то resvec имеет длину iter+1 и resvec(end) ≤ tol*norm(B). Возможны значения flag, равные 0, 1, 2, 3 и 4.
Значения flag предоставляют следующие данные о сходимости решения:
• 0 – решение сходится при заданной точности tol и числе итераций не более заданного maxit;
392
Программные средства численных методов
Решение СЛУ с разреженными матрицами
393
• 1 – число итераций равно заданному maxit, но сходимость не достигнута;
• 2 – матрица предусловий M плохо обусловлена;
• 3 – процедура решения остановлена, поскольку две последовательные оценки решения оказались одинаковыми;
• 4 – одна из величин в процессе решения вышла за пределы допустимых величин чисел (разрядной сетки компьютера).
Пример:
>> bicg(A,B)
BICG converged at iteration 4 to a solution with relative residual
2.3e-015
ans =
1.0000
2.0000
3.0000
4.0000
8.2.3.
Начало в части 1