> On Mar 3, 2017, at 3:31 PM, Fangbo Wang <[email protected]> wrote: > > Hi, > > I am a little bit confused on how to appropriately do matrix addition with > different nonzeros patterns. > > Suppose I want to do D=2*A+3*B+4*C, A, B and C all have different nonzero > patterns. > I know I can use MatDuplicate, MatCopy, MatConvert to create a matrix D, > which way is the right way?
There is no particular "right way". You could use a MatDuplicate() then a MatScale and then two MatAXPY() D=2*A+3*B+4*C looks like a MATLAB thing, not something you would need to do when solving PDEs, where do you get this need? Perhaps there is an alternative way to get what you want. > > What's the difference between MatDuplicate and MatCopy? MatDuplicate() CREATES a new matrix while MatCopy() copies values from an already existing matrix to another already existing matrix. > > Thank you very much! > > Best regards, > > Fangbo > > > -- > Fangbo Wang, PhD student > Stochastic Geomechanics Research Group > Department of Civil, Structural and Environmental Engineering > University at Buffalo > Email: [email protected]
