[petsc-users] small number (1e-23) in the matrix

Matthew Knepley knepley at gmail.com
Fri Nov 2 09:21:12 CDT 2012

On Fri, Nov 2, 2012 at 10:15 AM, NAN ZHAO <zhaonanavril at gmail.com> wrote:

> Dear all,
> I am using PETSC to solve a nonlinear system with newton's method. I
> actually calculate the jacobian matrix in each newton iteration and solve
> the linear system by KSPsolve. However, I found one thing
> really brothers me is the ultra small numbers in the matrix (MPIBAIJ
> matrix). In the sparse matrix I create some location should be zero but I
> got some small values like 1e-23 instead. I use matzeroentries each time I
> give new value to the matrix and this problem still exist. What makes me
> more confuse is that if I do not use matzeroentries each time I give new
> values to the matrix, the locations which should be zero get exactly
> 0.0000e0 (although other values is wrong, cause I add new value to the
> location when I assemble the matrix, I can not use insert as the procedure
> is like finite element assembling). Does anyone have insight of why this
> happens? P.S. I tried destroy the matrix each time I give the new value but
> same thing happens.

You are not doing what you think you are doing. This has nothing to do with
MatZeroEntries(). You are inserting
weird values in the matrix, probably by misspecifying a length, so that
MatSetValues() reads off the end of an
array. Run your code through valgrind.


> Regards,
> Nan

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20121102/9dab3439/attachment.html>

More information about the petsc-users mailing list