<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Barry, thanks a lot! <br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Exactly what I wanted to understand and clearly explained. <br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Again thank you very much. <br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Marco<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Ottieni <a href="https://aka.ms/ghei36">Outlook per Android</a></div>
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Smith, Barry F. <bsmith@mcs.anl.gov><br>
<b>Sent:</b> Wednesday, February 7, 2018 8:24:22 PM<br>
<b>To:</b> Marco Cisternino<br>
<b>Cc:</b> petsc-users<br>
<b>Subject:</b> Re: [petsc-users] Elliptic operator with Neumann conditions</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:11pt;">
<div class="PlainText"><br>
   A square matrix with a null space results in an underdetermined system, that is a solution with more than one solution. The solutions can be written as    x + alpha_1 v_1 + ... alpha_n v_n where the v_n form an orthonormal basis for the null space and x
 is orthogonal to the null space.<br>
<br>
   When you provide the null space KSP Krylov methods find the norm minimizing solution (x) , that is it finds the x with the smallest norm that satisfies the system. This is exactly the same as saying you take any solution of the system and remove all the
 components in the directions of the null space.<br>
<br>
   If you do not provide the null space then the Krylov space may find you a solution that is not the norm minimizing solution, thus that solution has a component of the null space within it. What component of the null space in the solution depends on what
 you use for an initial guess and right hand side.<br>
<br>
   When you have a preconditioner then things can get trickier because the preconditioner can (unless you remove them) components in the direction of the null space. These components can get amplified with each iteration of the Krylov method so it looks like
 the Krylov method is not converging since the norm of the solution is getting larger and larger (these larger components are in the null space.) This is why one should always provide the null space when solving singular systems with singular matrices.<br>
<br>
  Barry<br>
<br>
<br>
> On Feb 7, 2018, at 11:43 AM, Marco Cisternino <marco.cisternino@optimad.it> wrote:<br>
> <br>
> Hi everybody,<br>
> I would like to ask what solution is computed if I try to solve the linear system relative to the problem in subject without creating the null space.<br>
> I tried with and without the call to<br>
> MatNullSpaceCreate(m_communicator, PETSC_TRUE, 0, NULL, &nullspace);<br>
> and I get zero averaged solution with and the same solution plus a constant without.<br>
> How does PETSc  work in the second case?<br>
> Does it check the matrix singularity? And is it able to create the null space with the constant automatically?<br>
> Thanks.<br>
> <br>
> <br>
> Marco Cisternino, PhD<br>
> marco.cisternino@optimad.it<br>
> _______________________________<br>
> OPTIMAD Engineering srl<br>
> Via Giacinto Collegno 18, Torino, Italia.<br>
> +3901119719782<br>
> <a href="http://www.optimad.it">www.optimad.it</a><br>
> <br>
<br>
</div>
</span></font>
</body>
</html>