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.

Reply via email to