| 539b0084 | 07-Aug-2018 |
Karl Rupp <me@karlrupp.net> |
Merge branch 'denera/petsc-submat-virtual-shift' [PR #1062]
* denera/petsc-submat-virtual-shift: MatShift support for MATSUBMAT.
Tao Newton-LS method does shifting on the Hessian matrix to guarante
Merge branch 'denera/petsc-submat-virtual-shift' [PR #1062]
* denera/petsc-submat-virtual-shift: MatShift support for MATSUBMAT.
Tao Newton-LS method does shifting on the Hessian matrix to guarantee positive-definitiveness in degenerate cases. This shifting breaks down when the user-provided Hessian is matrix-free (MATSHELL), because the active-set reduced Hessian comes out as MATSUBMAT type, which does not support the shift operation.
This PR clones the virtual shift from MATSHELL onto MATSUBMAT. New ex99 test added under the Mat package (copied from ex97) to compare shifted MATSUBMAT operations against shifted MATAIJ. Previously implemented safeguards in TAO BNK against MATSUBMAT shifts removed.
show more ...
|