[petsc-users] estimation of max and min eigenvalues in SLEPc

Jose E. Roman jroman at dsic.upv.es
Wed Jun 3 02:24:23 CDT 2015


El 03/06/2015, a las 01:00, Xujun Zhao escribió:

> Hi Jed,
> 
> Here is my problem:
> 
> I want to evaluate a vector  u = B*dw where B and dw are a matrix and a stochastic vector. However, B = D^(-1/2) in which D is not explicitly assembled, so it is expensive to directly evaluate B. One solution is to make a Chebyshev approximation on B w.r.t. D, which is
> B = sum(c_k*D_k)
> 
> Then, the problem becomes u = B*dw = sum(c_k*y_k)  where y_k = D_k*dw can be obtained from my solver.
> 
> Note c_k is the coefficient that is a function of approximate(not exact) max and min eigenvalues of D matrix. So I need an approximate range [ lambda_min, lambda_max ] to calculate c_k. If this range is accurate, then Chebyshev approximation can converge faster, otherwise may be slow or even never.
> 
> Xujun
> 

SLEPc does not support computing eigenvalues from both ends of the spectrum with the same call. You have to call EPSSolve() twice, one with EPS_LARGEST_REAL and the other with EPS_SMALLEST_REAL.

Jose



More information about the petsc-users mailing list