Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Send J and F(u) to Krylov solver and use standard matrix vector
multiply.
_
F
1
u
1
F
1
u
2
F
2
u
1
F
2
u
2
_
_
.
Working backwards
F(u + v) F(u)
=
_
_
_
_
_
F
1
(u
1
+v
1
,u
2
+v
2
)F
1
(u
1
,u
2
)
F
2
(u
1
+v
1
,u
2
+v
2
)F
2
(u
1
,u
2
)
_
_
_
_
_
.
The Jacobian-vector Product, cont.
F
1
(u
1
,u
2
)+v
1
F
1
u
1
+v
2
F
1
u
2
F
1
(u
1
,u
2
)
F
2
(u
1
,u
2
)+v
1
F
2
u
1
+v
2
F
2
u
2
F
2
(u
1
,u
2
)
which simplies to
v
1
F
1
u
1
+v
2
F
1
u
2
v
1
F
2
u
1
+v
2
F
2
u
2
= Jv.
Jacobian-Free Newton-Krylov : Refs
i =1
a(1.0 + |u
i
|)
where v is the Krylov vector and N is the system dimension. Looks
like an average of what would be done individually.
We need
Jv =
ResT(T + v) ResT(T)
Subroutine MatrixFreeJv(v,y,N)
1. evaluate
2. evaluate Tpert = T + v
3. evaluate w = ResT(Tpert) (call ResTemp)
4. Do i = 1,N
5. y(i ) =
w(i )ResT(i )
6. End Do
Send J and F(u) to Krylov solver and use standard matrix vector
multiply.
Send only F(u) to Krylov solver and use Matrix-free matrix vector
multiply.
Often the matrix from Picard linearization has better properties with
respect to linear algebra.