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
