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

Reply via email to