Dear PETSc/Tao team,
it seems to be that there is a bug in the LMVM matrix class:
The function MatMultAdd_LMVM, see, e.g.,
https://petsc.org/release/src/ksp/ksp/utils/lmvm/lmvmimpl.c.html at line
114, if the vectors Y and Z are the same, then the result is wrong,
since the first MatMult overwrites also the value in Y.
Yes, the condition for MatMultAdd() is that X is not the same as Z, so we need to either disallow
this case, or create a work vector in order to handle it.
Todd, which should be done?
Thanks,
Matt
Best regards
Stephan Köhler
--
Stephan Köhler
TU Bergakademie Freiberg
Institut für numerische Mathematik und Optimierung
Akademiestraße 6
09599 Freiberg
Gebäudeteil Mittelbau, Zimmer 2.07
Telefon: +49 (0)3731 39-3173 (Büro)