To set up the problem, the user needs to specify the number of eigenvalues to compute, which eigenvalues are of interest, the number of basis vectors to use, and whether or not the problem is standard or generalized. These items are controlled with the parameters listed in Table 2.2.
The simple codes described in this chapter are set up to solve the standard eigenvalue problem using only matrix-vector products . Generalized eigenvalue problems require selection of another mode. These are addressed in Chapter 3. The value of ncv must be at least The options available for which include `LA' and `SA' for the algebraically largest and smallest eigenvalues, `LM' and `SM' for the eigenvalues of largest or smallest magnitude, and `BE' for the simultaneous computation of the eigenvalues at both ends of the spectrum. For a given problem, some of these options may converge more rapidly than others due to the approximation properties of the IRLM as well as the distribution of the eigenvalues of Convergence behavior can be quite different for various settings of the which parameter. For example, if the matrix is indefinite then setting which = `SM' will require interior eigenvalues to be computed and the Lanczos process may require many steps before these are resolved.
For a given ncv, the computational work required is proportional to FLOPS. Setting nev and ncv for optimal performance is very much problem dependent. If possible, it is best to avoid setting nev in a way that will split clusters of eigenvalues. For example, if the the five smallest eigenvalues are positive and on the order of 10-4 and the sixth smallest eigenvalue is on the order of 10-1 then it is probably better to ask for than for even if the three smallest are the only ones of interest.
Setting the optimal value of ncv relative to nev is not completely understood. As with the choice of which, it depends upon the underlying approximation properties of the IRLM as well as the distribution of the eigenvalues of As a rule of thumb, is reasonable. There are tradeoffs due to the cost of the user supplied matrix-vector products and the cost of the implicit restart mechanism and the cost of maintaining the orthogonality of the Lanczos vectors. If the user supplied matrix-vector product is relatively cheap, then a smaller value of ncv may lead to more user matrix-vector products, but an overall decrease in computation time. Chapter 4 will discuss these issues in more detail.