> On Mar 18, 2015, at 3:14 PM, Chung-Kan Huang <[email protected]> wrote: > > > > On Wed, Mar 18, 2015 at 3:09 PM, Barry Smith <[email protected]> wrote: > > > On Mar 18, 2015, at 3:07 PM, Chung-Kan Huang <[email protected]> wrote: > > > > So I guess I misunderstood the meaning of " inplace conversion". > > and what do MAT_INITIAL_MATRIX and MAT_REUSE_MATRIX do anyway? > > No you have not misunderstood it. > > Currently > MAT_REUSE_MATRIX is only supported for inplace conversion, otherwise use > MAT_INITIAL_MATRIX. > > For testing purposes you can use MAT_INITIAL_MATRIX. > > > I will try to convert the matrix in a new matrix using MAT_INITIAL_MATRIX. > while > MatConvert(J, MATAIJ, MAT_INITIAL_MATRIX, & A); > will convert the matrix and port the results into a new > what does > MatConvert(J, MATAIJ, MAT_REUSE_MATRIX, & J); > actually do?
It puts the result into the J matrix you passed in, "replacing" the matrix that was there. Barry > > Thanks, > > > > > > > > > > > > On Wed, Mar 18, 2015 at 2:48 PM, Jed Brown <[email protected]> wrote: > > Chung-Kan Huang <[email protected]> writes: > > > > > Yes, I was suprised that I can still use MatSetValuesBlocked after I did > > > MatConvert MATBAIJ to MATAIJ. > > > > > > Then I just found the mat type is still seqbaij which means the MatConvert > > > didn't work. > > > > > > This is how I did MatConvert > > > > > > MatConvert(J, MATAIJ, MAT_REUSE_MATRIX, & J); > > > > > > where J is my Jacobian matrix. > > > > Seems to me this should fail because you didn't MatConvert this matrix > > yet. Anyway, you should use MAT_INITIAL_MATRIX and put the result in a > > new Mat. > > > > > > > > -- > > Cheers > > > > > > > -- > Cheers >
