Hi Matt, Noted for the naming convention. Yes, it is a Newton method (see Pan, V. and Reif, J., Fast and Efficient Parallel Solution of Dense Linear Systems, Computers Math. Applications. Vol. 17, No. 11, pp. 1481-1491, 1989)
The dense matrix I have is repeatedly inverted while slowly changing such that the previous inverse is a near perfect guess for the new inverse. Regards, Dave On Thu, Sep 14, 2017 at 2:49 AM, Matthew Knepley <[email protected]> wrote: > On Wed, Sep 13, 2017 at 6:14 PM, David Gross <[email protected]> > wrote: > >> Hi Matt, >> Thank you for getting back to me. Your answer confirms what I thought in >> terms of existing functionality. I think it shouldn't be too hard to make a >> copy of MatAXPY to MatAXY where it performs Xij = A*Xij*Yij (or without the >> A). I could then do the MatNorm of the resulting matrix to get what I need. >> >> Is a MatAXY function desirable as a source contribution? >> > > Yes. I would prefer calling it MatPointwiseMult, since you can see it as > VecPointwiseMult on a Vec obtained > from forgetting the linear operator structure of the matrix (forgetful > functor). > > >> I am hoping to use PETSc for performing basic vector and matrix >> operations on dense matrices and 1D vectors. The main uses are matmult, >> matmatmult and matrix additions and scaling. The application is for >> implementing a parallel version on an existing Pan-Reif matrix inversion >> algorithm. >> > > Is this Newton's method on the vector space of matrices? > > Thanks, > > Matt > > >> The choice of using PETSc is mostly due to us already using it in the >> same program to solve sparse matrices (with MUMPS) with the goal of >> avoiding adding yet another package (ex ScaLAPACK/PBLAS) into the code even >> if other packages may be more directly oriented towards my application. >> >> Regards, >> Dave >> >> >> >> On Mon, Sep 11, 2017 at 2:19 AM, Matthew Knepley <[email protected]> >> wrote: >> >>> On Sun, Sep 10, 2017 at 5:51 PM, David Gross <[email protected]> >>> wrote: >>> >>>> Hello, >>>> I was wondering if there was a matrix equivalent to the vecDot function >>>> (Frobenius inner product)? As far as I can tell the closest thing is >>>> MatNorm with NORM_FROBENIUS, but obviously this is acting on only one >>>> matrix. >>>> >>>> If there is not a built in function, what is the best way to compute >>>> this? I am working fortran90. >>>> >>> >>> We do not have this. However, it would be trivial to add since we have >>> >>> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpage >>> s/Mat/MatAXPY.html >>> >>> since you just replace + with * in our code. You could argue that we >>> should have written for >>> a general ring, but C makes this cumbersome. Do you think you could make >>> the change? >>> >>> What are you using this for? >>> >>> Thanks, >>> >>> Matt >>> >>> >>>> Regards, >>>> Dave >>>> >>> >>> >>> >>> -- >>> What most experimenters take for granted before they begin their >>> experiments is infinitely more interesting than any results to which their >>> experiments lead. >>> -- Norbert Wiener >>> >>> http://www.caam.rice.edu/~mk51/ >>> >> >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > http://www.caam.rice.edu/~mk51/ >
