The action `M inverse' of the preconditioner M (an approximation
of A-lambda
B) on an n-vector v can be defined in
the Options
| Options.Precond
Options.L Options.U Options.P |
If no preconditioner has been specified (or is [ ]), then
M
v = v (M is the identity).
If Precond is an n by n matrix, say, K, then
M
v = K
v.
If Precond is an N by 2
N matrix, say, K,
then
M
v = U
L
v, where K = [L,U], and L and U are n by n matrices.
If Precond is a string, say, 'Mi', then
| if Mi(v,'L') and Mi(v,'U') return n-vectors | |
| M |
|
| otherwise | |
| M |
Note that Precond and A can be the same string.
If L
Precond and U
Precond are strings, say, 'Li'
and 'Ui', respectively, then
M
v = Ui(Li(v)).
If (P
precond,) L
Precond, and U
precond are
n by n matrices, say, (P,) L, and U,
respectively, then
M
v = U
L
(P
v)
(i.e., P
M = L
U).
The way the preconditioner
is used can be specified in the Options.