Various algorithmic modes may be selected through the settings of the entries in the integer array iparam. The most important of these is the value of iparam(7) which specifies the computational mode to use. The selection in this simple example is iparam(7) = 1 indicating mode = 1 is to be used and this only requires matrix-vector products. Convergence can be greatly enhanced through the the use of the shift-invert computational modes provided. These additional modes are described in Chapter 3. In addition, iparam(1) specifies the shift selection strategy to be used with the implicit restarting mechanism described in Chapter 4. Setting iparam(1) = 1 as in the example will specify the so called exact shift strategy. Exact shifts are recommended unless the user has a very good reason based upon a-priori information and an expert knowledge of the underlying IRLM to specify an alternative. The maximum number of IRLM iterations allowed must be specified in iparam(3). In specifying this parameter, the user should keep in mind that an IRLM iteration costs approximately ncv - nev user supplied matrix-vector products. In addition, FLOPS are needed for the work associated with an IRLM iteration.
The integer argument lworkl sets the length of the work array workl. Its value is set at