Hong,
As a hack for this release could you have the Numeric portion of the multiply routines check if the symbolic data is there and if not just call the symbolic an attach the needed data? You might need to have a utility function that does all the symbolic part except the allocation of the matrix and then call this from the numeric part as well as the real symbolic part. Barry > On Sep 23, 2019, at 9:59 AM, Zhang, Hong <hzh...@mcs.anl.gov> wrote: > > Yes, we should allow users to provide their own matrix array. > > We use MatDensePlaceArray() to plug an array into matrix C before > MatMatMult(). If we cannot do this, we will have to copy from the internal > array of the result C to our array. > > Would the following sequence work? > MatMatMultSymbolic() > MatDensePlaceArray() > MatMatMultNumeric() > This seems a reasonable API, but it is not obvious to users when and where > MatDensePlaceArray() should be called. > Currently, most users call MatMatMult(A,B, reuse,&C) instead of > MatMatMultSymbolic/Numeric. > > We plan to add > MatMatGetProduct(A,B,&C); > Then, > MatDensePlaceArray(C,array); > > Hong