[petsc-users] KSP linear solver

Matthew Knepley knepley at gmail.com
Mon Jan 20 11:11:23 CST 2014


On Mon, Jan 20, 2014 at 9:51 AM, Que Cat <quecat001 at gmail.com> wrote:

> Dear Matt,
>
> On Sat, Jan 18, 2014 at 1:54 PM, Matthew Knepley <knepley at gmail.com>wrote:
>
>> On Sat, Jan 18, 2014 at 1:46 PM, Que Cat <quecat001 at gmail.com> wrote:
>> Dear Petsc-Users,
>>>
>>>
>>> I debug my code. I solve the small linear system using KSP.
>>> The matrix is:
>>>
>>> row 0: (0, -123354)  (1, 6.92922e-310)  (2, 123354)  (3, 1.38582e-309)
>>> row 1: (0, 1.3858e-309)  (1, 91156.6)  (2, 6.92901e-310)  (3, 91156.6)
>>> row 2: (0, 8768.96)  (1, 2.47033e-323)  (2, -171955)  (3, 1.02212e-316)
>>>  (4, 163186)  (5, 0)
>>> row 3: (0, 0)  (1, -59201.7)  (2, 0)  (3, 156037)  (4, 0)  (5, 93996.1)
>>> row 4: (2, 13422.8)  (3, 0)  (4, -13422.8)  (5, 0)
>>> row 5: (2, 0)  (3, -58000.3)  (4, 0)  (5, 59201.7)
>>>
>>>
>> 1) Get rid of the entries that are 1e-300 or below
>>
>>
>
> Is there any way to get rid of these entries automatically? Or we have to
> do this explicitly? Thank you.
>

I would do it manually, since it implies that something is wrong with your
code. However, if you use
the development branch, there is MatChop().

   Matt


> Que
>
>
>
>
>
>>  the RHS vector:
>>>
>>> -9115.66
>>> -17760.5
>>> -425.926
>>> -35400.9
>>> 9541.58
>>> -17520.2
>>>
>>> the solution I got was:
>>>
>>> -2.00943e+52
>>> -1.17929e+18
>>> -2.00943e+52
>>> 7.121e+16
>>> -2.00943e+52
>>> -7.0943e+16
>>>
>>> I checked with matlab and I got the totally different solution. I guess
>>> there is something wrong with the linear solver I set up as follow:
>>>
>>>     KSPSetOperators(ksp, mat_A, mat_A, SAME_NONZERO_PATTERN);
>>>
>>>     // set the linear solve options
>>>     KSPSetType(ksp, KSPGMRES);
>>>     KSPGMRESSetRestart(ksp, 100);
>>>     // set preconditioning options
>>>     KSPGetPC(ksp, &pc);
>>>     PCSetType(pc, PCBJACOBI);
>>>     KSPSetFromOptions(ksp);
>>>     // Solve the linear system
>>>     KSPSolve(ksp,vec_rhs,vec_sol);
>>>
>>> Could anyone give me a suggestion where should be the source of error?
>>> Thank you!
>>>
>>
>> 2) Always start with -pc_type lu -ksp_type preonly
>>
>> 3) It appears that your matrix is close to singular (LU will check)
>>
>>   Matt
>>
>>
>>> Que
>>>
>>>
>>
>>
>> --
>> 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
>>
>
>


-- 
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/20140120/9bfd94fa/attachment.html>


More information about the petsc-users mailing list