Michal, Have you tried to use ARPACK to get the smallest eigenvalues? That's what we are doing in one of our code and it works pretty well. We have a patch here <https://github.com/ORNL-CEES/mfmg/blob/master/scripts/0001-Enable-ARPACK-in-regular-mode.patch> so that you don't need to provide the inverse of the operator to use ARPACK. You still need to provide a mass matrix but it's no used.
Best, Bruno On Thursday, October 18, 2018 at 8:55:23 AM UTC-4, Michał Wichrowski wrote: > > Dear all, > I need to compute the minimum and maximum eigenvalues of the matrix-free > operator (vmult is only available ). For the largest eigenvalue, I'm using > the power method, but I have some problems with minimal eigenvalue. The > condition number of the operator is close to 1, so I tried using the power > method on inverse obtained by CG. This solution is time-consuming and for > some cases I got strange results. > I have seen that CG can output eigenvalues: > solver_outer.connect_eigenvalues_slot( [](const std::vector< double > & > vec)->void { std::cout<< " "<<vec.front()<< " , " <<vec.back()<< " size: > "<< vec.size()<<std::endl; } , false); > solver_outer.solve (shat, sol, rhs, > PreconditionIdentity() > ); > > but the estimate of largest eigenvalue obtained this way does not match > one from power method: > Maximum eigenvalue from power method: 1.001 > Maximum eigenvalues from CG: 0.0071333 , 1793.58 size: 249 > > Michał > > -- 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.