<div dir="ltr">(resend from my gmail)<div> <div>In a PETSc example (<a href="http://www.mcs.anl.gov/petsc/petsc-current/src/ksp/ksp/examples/tutorials/ex10.c.html">ex10.c</a>) one MatLoad A and then VecLoad b from a viewer. Since one can change mat block size through option -matload_block_size, the code tries to pad b if A and b's sizes mismatch, using the following test<br><br>186:   MatGetSize(A,&M,NULL);<br>187:   VecGetSize(b,&m);<br>188:   if (M != m) {   /* Create a new vector b by padding the old one */<br><br>  I think the code is wrong. One has to compare local column size of A and local size of b, and if there is a mismatch on ANY processor, then one has to create a new b.<br>  My questions are: Are users supposed to take this complexity? Does PETSc provide a neat way to do that, for example, MatVecLoad(A,b,viewer)<br><br> Thanks.<br>--Junchao Zhang<br></div></div></div>