также возвращает относительную вторую норму
[X.flag.relres] = bicg(A,X,tol .maxit.Ml,M2.X0) — также возвращает относительную вторую норму вектора остатков relres=nQnr)(B-A*X)/norm(B). Если флаг flag равен 0, то rel res<tol;
[X, flag, rel res, iter] = bicgCA.B.tol,maxit,Ml,M2.XO) — также возвращает номер итерации, на которой был вычислен X. Значение iter всегда удовлетворяет условию 0<iter<maxit;
[X.flag.relres.iter.resvec] = bicgCA.B.tol,maxit,Ml,M2.XO) — также возвращает вектор вторых норм остатков resvec для каждой итерации начиная с res-vec(l)=norm(B-A*X0). Если флаг flag равен 0, то resvec имеет длину iter+1 и resvec(end)<tol*norm(B). Возможны значения flag, равные 0, 1, 2, 3 и 4. Эти значения предоставляют следующие данные о сходимости решения:
flag=0 - решение сходится при заданной точности tol и числе итераций не более заданного maxit;
flag=l - число итераций равно заданному maxit, но сходимость не достигнута;
f l ag=2 - матрица предусловий М плохо обусловлена;
fl ag=3 - процедура решения остановлена, поскольку две последовательные оценки решения оказались одинаковыми;
fl ag=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
[X.flag] = bicg(A,X.tol ,maxit.Ml,M2,X0) — возвращает решение Х и флаг flag, описывающий сходимость метода.
Содержание Назад Вперед