[petsc-users] Check vector for zeros
Stefano Zampini
stefano.zampini at gmail.com
Thu Jan 3 10:16:35 CST 2019
It already checks for zeros. See VecPointwiseDivide_Seq in src/vec/vec/impls/seq/bvec2.c
> On Jan 3, 2019, at 5:12 PM, Matthew Knepley via petsc-users <petsc-users at mcs.anl.gov> wrote:
>
> On Thu, Jan 3, 2019 at 11:01 AM Florian Lindner via petsc-users <petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov>> wrote:
> Hello,
>
> Happy New Year Everybody!
>
> I get a vector from a linear solve and is used a divisor in VecPointwiseDivide. Clearly, I must check for zero entries before doing the division.
>
> What is the best way to do so, especially performance wise?
>
> The only way I come up with so far, is to VecCopy, VecAbs and then check for VecMin > eps. The VecCopy kind of scares me for the performance draw back. I haven't found something like a VecAbsMin.
>
> Any better ideas?
>
> I would write VecAbsMin() yourself,
>
> https://bitbucket.org/petsc/petsc/src/bd27d3f284687498e4c4678d234c0e308a5bc236/src/vec/vec/utils/vinv.c#lines-299 <https://bitbucket.org/petsc/petsc/src/bd27d3f284687498e4c4678d234c0e308a5bc236/src/vec/vec/utils/vinv.c#lines-299>
> https://bitbucket.org/petsc/petsc/src/bd27d3f284687498e4c4678d234c0e308a5bc236/src/vec/vec/utils/vinv.c#lines-1510 <https://bitbucket.org/petsc/petsc/src/bd27d3f284687498e4c4678d234c0e308a5bc236/src/vec/vec/utils/vinv.c#lines-1510>
>
> It should only be about 8 lines.
>
> Thanks,
>
> Matt
>
> Thanks,
> Florian
>
>
> --
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190103/a8d2e8ec/attachment.html>
More information about the petsc-users
mailing list