Type for the Fast Diagonalization connected with the schwarz overlapping solves.  
 | 
| subroutine  | fdm_init (this, xh, dof, gs_h) | 
|   | 
| subroutine  | swap_lengths (this, x, y, z, nelv, gdim) | 
|   | 
| subroutine  | plane_space (lr, ls, lt, i1, i2, w, x, y, z, nx, nxn, nz0, nzn, nelv, gdim) | 
|   | Here, spacing is based on harmonic mean. pff 2/10/07 We no longer base this on the finest grid, but rather the dofmap we are working with, Karp 210112.  
  | 
|   | 
| subroutine  | fdm_setup_fast (this, ah, bh, nl, n) | 
|   | Setup the arrays s, d needed for the fast evaluation of the system.  
  | 
|   | 
| subroutine  | fdm_setup_fast1d (s, lam, nl, lbc, rbc, ll, lm, lr, ah, bh, n) | 
|   | 
| subroutine  | generalev (a, b, lam, n, lx) | 
|   | Solve the generalized eigenvalue problem /$ A x = lam B x/$ A – symm. B – symm., pos. definite.  
  | 
|   | 
| subroutine  | sp_sygv (a, b, lam, n, lx, bw, lbw) | 
|   | 
| subroutine  | dp_sygv (a, b, lam, n, lx, bw, lbw) | 
|   | 
| subroutine  | qp_sygv (a, b, lam, n, lx, bw, lbw) | 
|   | 
| subroutine  | fdm_setup_fast1d_a (a, lbc, rbc, ll, lm, lr, ah, n) | 
|   | 
| subroutine  | fdm_setup_fast1d_b (b, lbc, rbc, ll, lm, lr, bh, n) | 
|   | 
| subroutine  | fdm_free (this) | 
|   | 
| subroutine  | fdm_compute (this, e, r, stream) | 
|   |