我有以下问题:
我想使用Octave“pcg”中的以下函数定义为:
x = pcg(A,b,tol,maxit,m1,m2,x0,...)
文档说:
“m = m1 * m2是(左)预处理矩阵,因此迭代(理论上)等于通过pcg P * x = m \ b求解,其中P = m \ A.注意正确选择预处理器可以显着提高方法的整体性能。用户可以传递两个函数来代替矩阵m1和m2,这两个函数返回将m1和m2的逆应用于向量的结果(通常这是使用的首选方式)如果m1被省略或为空[]则不应用预处理。如果省略m2,则m = m1将用作预处理器。“
现在我得到了所有参数,但我没有m2,我想把它留下来。就像文档说“省略”它所以m = m1。
我找不到在八度音程中省略此参数的方法。
有人能帮助我吗?
答案 0 :(得分:0)
the documentation for pcg
中的示例6是:
[x, flag, relres, iter, resvec, eigest] = ...
pcg (A, b, [], [], "apply_m", [], [], 3)
此处,”apply_m”
是输入参数m1
,而m2
已填写[]
以便能够提供更高的参数。
因此,要提供参数x0
但省略m1
,您应该可以说:
x = pcg (A, b, tol, maxit, m1, [], x0, …)