Dear Jean-Paul, Thank you very much for your help. According to your prompt, after many reflections in the past two days, I have come up with a solution, but it has not been verified yet. With new progress, I will communicate with you again. Thanks again for your help.
Best, FU 在 2018年11月16日星期五 UTC+8下午2:59:45,Jean-Paul Pelteret写道: > > Dear FU, > > Yes, I think that the LinearOperator > <https://dealii.org/9.0.0/doxygen/deal.II/classLinearOperator.html> class > and family of helper functions > <https://dealii.org/9.0.0/doxygen/deal.II/group__LAOperators.html> can > help you here. This is because you never use the matrix “A” in isolation, > but rather have it operating on the vector “T” (or some increment of “T” in > your nonlinear solution algorithm). So you can use the LinearOperator class > to create the composite operator “A”, which does not ever compute or hold > the individual entries of “A” itself, but rather performs the action on a > vector that is equivalent to what “A” would. You should have a look at the > class documentation that I linked to earlier. The step-44 tutorial > <https://dealii.org/9.0.0/doxygen/deal.II/step_44.html#Solidsolve_linear_system> > also > provides an example of its use. > > I hope that this helps you move forward with your problem. > Best, > Jean-Paul > > On 16 Nov 2018, at 01:01, FU <fudany...@gmail.com <javascript:>> wrote: > > Hi, > I want to solve AT+BFT^4=C (1), > A, B, F are sparse matrix, T, T^4 are the solution vector. > By Newton method, we need to (1) derivation. > So I want to know how to get A. > Or what do you think of solving this equation? > > best, > FU > > > 在 2018年11月15日星期四 UTC+8下午10:45:24,Jean-Paul Pelteret写道: >> >> Hi, >> >> In general there is, to the best of my knowledge, no easy answer to your >> question. Can you explain what you intend to do with the matrix “A"? That >> would help a great deal, as there may still be some functionality in the >> library to help you. If you intend to perform some operations with “A” then >> we have some wrapper classes called LinearOperators that can produce an >> effective “A” (without computing it directly). But whether or not this >> makes sense depends on the context in which you want to use “A”. >> >> Best, >> Jean-Paul >> >> On 15 Nov 2018, at 15:28, FU <fudany...@gmail.com> wrote: >> >> Thank you very much for your reply. >> >> I probably understand the methods you mentioned, but there is no >> multiplication vector behind the sparse matrix of the solution I asked for. >> >> A=M- (N^T) (M^-1) N, >> >> This is the construction equation of the original sparse matrix. >> >> A is the sparse matrix that I want to get in the end, where N and M are >> sparse matrices. >> >> What else can you do to solve this problem? >> >> Thank you >> >> FU在 2018年11月14日星期三 UTC+8下午2:32:03,Jean-Paul Pelteret写道: >>> >>> Hi, >>> >>> To compute the sparse matrix inverse M^{-1} you would have to use a >>> direct solver such as SparseDirectUMFPACK >>> <https://dealii.org/9.0.0/doxygen/deal.II/classSparseDirectUMFPACK.html>. >>> If this operation (M^{-1})N appears in the context of matrix-vector >>> products, i.e. you’re actually computing something like y = (M^{-1})Nx then >>> you could use an iterative solver >>> <https://dealii.org/9.0.0/doxygen/deal.II/classSolverSelector.html> to >>> invert the system My = (Nx) = b. Here you could be computing the solution y >>> = M^{-1}b using an iterative method. >>> >>> I hope that this helps. >>> Best, >>> Jean-Paul >>> >>> On 14 Nov 2018, at 03:01, FU <fudany...@gmail.com> wrote: >>> >>> (M^-1)N, >>> M and N are sparse matrix, >>> so how to get the inverse of a sparse matrix? >>> >>> -- >>> The deal.II project is located at http://www.dealii.org/ >>> For mailing list/forum options, see >>> https://groups.google.com/d/forum/dealii?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "deal.II User Group" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to dealii+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >> -- >> The deal.II project is located at http://www.dealii.org/ >> For mailing list/forum options, see >> https://groups.google.com/d/forum/dealii?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "deal.II User Group" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to dealii+un...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> >> >> > -- > The deal.II project is located at http://www.dealii.org/ > For mailing list/forum options, see > https://groups.google.com/d/forum/dealii?hl=en > --- > You received this message because you are subscribed to the Google Groups > "deal.II User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to dealii+un...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.