<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">in  my code, i need to use kspsolve in the following way<br><br>    KSP ksp;<br> <br>    KSPCreate(PETSC_COMM_WORLD,&ksp);<br>    KSPSetOperators(ksp,A,A,SAME_NONZERO_PATTERN);<br>    KSPSetOperators(ksp,A,A,SAME_PRECONDITIONER);<br>    KSPSetInitialGuessNonzero(ksp,PETSC_TRUE)<br>     KSPSetType(ksp,KSPBCGS);     <br>    KSPSetFromOptions(ksp);    <br><br>  set the matrix A value and right hand side bu and bv.<br>    kspsolve(A,bu);<br>    kspsolve(A,bv); <br>  change the value of matrix A and bu bv,<br>     kspsolve(A,bu);<br>     kspsolve(A,bv);<br>  <br> the first and second call to 
 
 the kspsolve use the same preconditioner. but which preconditoner does the third and fourth call to the kspsolve since the value of the matrix A has changed. <br><br><br>  <br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span></div>  <br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>