next up previous contents index
Next: Post-Processing for Eigenvectors Using Up: General Use of ARPACK Previous: Post-Processing for Eigenvectors Using

Computational Modes for Real Non-Symmetric Problems

The following subroutines are used to solve non-symmetric generalized eigenvalue problems in real arithmetic. These routines are appropriate when ${\bf A}$ is a general non-symmetric matrix and ${\bf M}$ is symmetric and positive semi-definite. The reverse communication interface routine for the non-symmetric double precision eigenvalue problem is dnaupd. The routine is called as shown in Figure 3.6. The specification of which nev eigenvalues is controlled by the character*2 argument which. Table 3.4 lists the choices available.


  
Figure 3.6: Calling sequence of subroutine dnaupd.

  call dnaupd (ido, bmat, n, which, nev, tol, resid, ncv, v,
 &             ldv, iparam, ipntr, workd, workl, lworkl, info)



 
Table 3.4: The various settings for the argument which in _naupd
   
1|cWHICH 1c|DESCRIPTION
   
`LM' Eigenvalues of largest magnitude.
   
`SM' Eigenvalues of smallest magnitude.
   
`LR' Eigenvalues of largest real part.
   
`SR' Eigenvalues of smallest real part.
   
`LI' Eigenvalues of largest imaginary part.
   
`SI' Eigenvalues of smallest imaginary part.

There are three different shift-invert modes for non-symmetric eigenvalue problems. These modes are specified by setting the parameter entry iparam(7) = mode where mode = 1,2,3, or 4.

In the following list, the specification of OP and are given for the various modes. Also, the iparam(7) and bmat settings are listed along with the name of the sample driver for the given mode. Sample drivers for the following modes may be found in the EXAMPLES/NONSYM subdirectory.  

1.
Regular mode (iparam(7) = 1, bmat = 'I' ). Use driver dndrv1.
(a)
Solve in regular mode.
(b)
and

2.
Shift-invert mode (iparam(7) = 3, bmat = 'I'). Use driver dndrv2
with sigma a real shift.
(a)
Solve in shift-invert mode.
(b)
and

3.
Regular inverse mode (iparam(7) = 2, bmat = 'G'). Use driver dndrv3.
(a)
Solve ${\bf A}{\bf x}={\bf M}{\bf x}\lambda$ in regular inverse mode.
(b)
and

4.
Shift-invert mode (iparam(7) = 3, bmat = 'G'). Use driver dndrv4
with sigma a real shift.
(a)
Solve ${\bf A}{\bf x}={\bf M}{\bf x}\lambda$ in shift-invert mode.
(b)
and

5.
Complex Shift-invert mode (iparam(7) = 3, bmat = 'G'). Use driver dndrv5 when sigma is complex. must be factored in complex arithmetic.
(a)
Solve ${\bf A}{\bf x}={\bf M}{\bf x}\lambda$ using complex shift in real arithmetic.
(b)
and

6.
Complex Shift-invert mode (iparam(7) = 4, bmat = 'G'). Use driver dndrv6 when sigma is complex. must be factored in complex arithmetic.
(a)
Solve ${\bf A}{\bf x}={\bf M}{\bf x}\lambda$ using complex shift in real arithmetic.
(b)
and

Note that there are two shift-invert modes with complex shifts (See dndrv5 and dndrv6). Since is complex, these both require the factorization of the matrix in complex arithmetic even though both ${\bf A}$ and ${\bf M}$ are real. The only advantage of using this option instead of using the standard shift-invert mode in complex arithmetic with the routine znaupd is that all of the internal operations in the IRAM are executed in real arithmetic. This results in a factor of two savings in storage and a factor of four savings in arithmetic. There is additional post-processing that is somewhat more complicated than the other modes in order to get the eigenvalues and eigenvectors of the original problem. These modes are only recommended if storage is extremely critical.


next up previous contents index
Next: Post-Processing for Eigenvectors Using Up: General Use of ARPACK Previous: Post-Processing for Eigenvectors Using
Chao Yang
11/7/1997